有一些函式可以與 selenium 一起使用,這些函式有一定的輸出,但是當我在 google colab 中打開它們時,會得到一些我不想要的輸出,這會降低理解。
BETSWITSBOT
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:4: DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
after removing the cwd from sys.path.
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:5: DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
"""
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:6: DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:7: DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
import sys
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:8: DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:9: DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
if __name__ == '__main__':
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:10: DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
# Remove the CWD from sys.path while we load stuff.
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:11: DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
# This is added back by InteractiveShellApp.init_path()
Hatayspor
Feyenoord
Nice
Aris
Antalyaspor
PSV
Arsenal
有沒有辦法在示例中不獲取“BETSWITHBOT”和“HATAYSPOR”之間的輸出?
我的代碼:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.ui import WebDriverWait
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome('chromedriver',chrome_options=chrome_options)
def betswitsbot():
print("BETSWITSBOT\n")
driver.get("https://www.betswithbots.com/")
takimlar = driver.find_elements_by_xpath("//table[@id='predictions_table']/tbody/tr/td[3]")
evTahmin = driver.find_elements_by_xpath("//table[@id='predictions_table']/tbody/tr/td[4]")
xTahmin = driver.find_elements_by_xpath("//table[@id='predictions_table']/tbody/tr/td[5]")
depTahmin = driver.find_elements_by_xpath("//table[@id='predictions_table']/tbody/tr/td[6]")
altTahmin = driver.find_elements_by_xpath("//table[@id='predictions_table']/tbody/tr/td[7]")
ustTahmin = driver.find_elements_by_xpath("//table[@id='predictions_table']/tbody/tr/td[8]")
ngTahmin = driver.find_elements_by_xpath("//table[@id='predictions_table']/tbody/tr/td[9]")
gTahmin = driver.find_elements_by_xpath("//table[@id='predictions_table']/tbody/tr/td[10]")
for x in range(0,len(takimlar)):
try:
ev, dep = takimlar[x].text.split(" - ")
#print(ev, evTahmin[x].text, xTahmin[x].text, depTahmin[x].text, dep, altTahmin[x].text, ustTahmin[x].text, ngTahmin[x].text, gTahmin[x].text, sep="\t")
if float(evTahmin[x].text) > 50:
print(ev)
elif float(depTahmin[x].text) > 50:
print(dep)
except:
a=0
betswitsbot()
uj5u.com熱心網友回復:
這些DeprecationWarning日志...
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:4: DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
...
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:5: DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
...
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:10: DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
...是最新版本Selenium更改的結果,該版本與Selenium 4 Release Candidate 1 更改日志行內,其中提到:
指定“find_element_by_* ...”警告是棄用警告 (#9700)
解決方案
而不是find_element_by_*你必須使用find_element(). 舉個例子:
您需要添加以下匯入:
from selenium.webdriver.common.by import By
而不是使用:
takimlar = driver.find_elements_by_xpath("//table[@id='predictions_table']/tbody/tr/td[3]")你需要使用:
takimlar = driver.find_elements(By.XPATH, "//table[@id='predictions_table']/tbody/tr/td[3]")
參考
您可以在以下位置找到一些相關的詳細討論:
- “find_element_by_name('name')”和“find_element(By.NAME, 'name')”有什么區別?
- 無法在 Selenium (Python) 中定位元素
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/420026.html
標籤:
