亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

selenium css 選擇器無法獲取目標,而目標在檢查模式下可見且可選擇

selenium css 選擇器無法獲取目標,而目標在檢查模式下可見且可選擇

尚方寶劍之說 2022-07-19 15:30:43
我正在查看此頁面,需要免費注冊才能登錄。在此頁面中,我嘗試選擇“#histo-line-chart > g > g.hist-container > g.hist-top-graph > g.hist-spreadlines > g”。def login():    url = "https://www.datagrapple.com/Account/Login"    browser = create_browser(        r'C:/Users/YOURADDRESS/webdrivers/chromedriver.exe')  # change addr when necessary    browser.get(url)    browser.find_element_by_id('UserName').send_keys('EXIA2018') # valid demo    browser.find_element_by_id('Password').send_keys('102938')    browser.find_element_by_xpath('//*[@id="loginForm"]/form/fieldset/div[3]/div/button').click()    return browserobj_path = '#histo-line-chart > g > g.hist-container > g.hist-top-graph > g.hist-spreadlines > g'WebDriverWait(browser, 60).until(EC.element_to_be_clickable((By.CSS_SELECTOR, obj_path)))  # added according to NatalSnowyFox's suggestion. browser.find_element_by_css_selector(obj_path)然后我得到了這個錯誤。selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"histo-line-chart > g > g.hist-container > g.hist-top-graph > g.hist-spreadlines > g"}  (Session info: headless chrome=79.0.3945.130)當我以檢查模式將此 css 選擇器粘貼到瀏覽器時,它可以成功找到目標。我正在使用 Python 3.7.6 和 selenium 3.141.0。我已經重新安裝了硒以防萬一。請指導我完成,謝謝你。更新 1根據 NatalSnowyFox 的建議添加了顯式等待代碼,但即使我將超時時間延長到 60 秒也會出現超時錯誤
查看完整描述

1 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

您是否嘗試使用 WebDriverWait(driver, time).until(your condition)?也許瀏覽器只是需要時間來定位它,嘗試使用顯式等待。

WebDriverWait(driver, 10).until(EC.visibility_of_element_located(By.CSS_SELECTOR,"your selector"))

取而代之的是“visibilityOfElementLocated”,您可以使用任何其他條件(定位元素的存在、可見性、可點擊元素..等,取決于您的需要)

https://selenium.dev/docs/site/en/webdriver/waits/


查看完整回答
反對 回復 2022-07-19
  • 1 回答
  • 0 關注
  • 64 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號