我正在查看此页面,需要免费注册才能登录。
在此页面中,我尝试选择“#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 browser
obj_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 秒也会出现超时错误
HUX布斯
相关分类