Я смотрю на эту страницу , для входа требуется бесплатная регистрация.
На этой странице я пытаюсь выбрать "# 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 и селен 3.141. 0. Я переустановил селен на всякий случай.
Пожалуйста, проведите меня, спасибо, вперед.
обновление 1
добавлены явные коды ожидания в соответствии с предложением NatalSnowyFox, но получена ошибка тайм-аута, даже если я увеличил тайм-аут до 60 секунд