我能做些什么,以取代find_element_css_selector在Selenium Python點擊一個特定的onclick值
(javascript:unitsSelectUnit(1))
瀏覽器是谷歌瀏覽器
browser.get("http://eatsmart.housing.illinois.edu/NetNutrition/46#")
browser.find_element_css_selector("a[onclick*=javascript:unitsSelectUnit(1);]").click()
html = browser.page_source
time.sleep(2)
print(html)
# close web browser
browser.close()
uj5u.com熱心網友回復:
要單擊帶有Ikenberry Dining Center (IKE)文本的元素,您需要為
uj5u.com熱心網友回復:
這 CSS_SELECTOR
a[onclick*=javascript:unitsSelectUnit(1);]
您在代碼中使用的是錯誤的。基本上,你失蹤了''
CSS_SELECTOR遵循以下語法:
node_name[attribute_name = 'attribute_value']
您也可以按照以下步驟進行交叉驗證:
檢查步驟:
Press F12 in Chrome- >去element節- >做一個CTRL F- >再貼上css selector看看,如果你需要的element是越來越強調與1/1匹配的節點。
這a[onclick*=javascript:unitsSelectUnit(1);]不會匹配任何東西,而 asa[onclick*='javascript:unitsSelectUnit(1);']將匹配Ikenberry Dining Center (IKE)節點。
現在如果你想點擊它,請使用以下代碼:
代碼:
browser.maximize_window()
wait = WebDriverWait(browser, 30)
browser.get("http://eatsmart.housing.illinois.edu/NetNutrition/46#")
try:
btn = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[onclick*='javascript:unitsSelectUnit(1);']")))
btn.click()
except:
print("Could not click on button")
pass
進口:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/384696.html
標籤:Python 硒 谷歌浏览器 硒网络驱动程序 硒铬驱动器
上一篇:SessionNotCreatedException:訊息:會話未創建:此版本的ChromeDriver僅支持使用Selenium和ChromeDriver的Chrome版本97
