#python #html #css #selenium #selenium-webdriver
Вопрос:
Попробовал это с именем класса, а теперь XPath безрезультатно. код =
element = WebDriverWait(driver,30).until(EC.presence_of_element_located((By.XPATH,"/html/body/div[@id='root']/div[@class='login-form']/div[@class='login-form-tabs']/div[@class='TabsNav_TabsNav__3uqOq tabs-nav']/div[@class='nav-link TabNavLink_TabNavLink__1Au2n'] ")))
signup = driver.find_element_by_xpath("/html/body/div[@id='root']/div[@class='login-form']/div[@class='login-form-tabs']/div[@class='TabsNav_TabsNav__3uqOq tabs-nav']/div[@class='nav-link TabNavLink_TabNavLink__1Au2n'] ")
signup.click()
Ошибка:
Traceback (most recent call last):
File "C:UsersnoahrPycharmProjectspythonProjectmain.py", line 32, in <module>
signup = driver.find_element_by_xpath("/html/body/div[@id='root']/div[@class='login-form']/div[@class='login-form-tabs']/div[@class='TabsNav_TabsNav__3uqOq tabs-nav']/div[@class='nav-link TabNavLink_TabNavLink__1Au2n'] ")
File "C:Usersnoahr.virtualenvspythonProject-ME1SVWk8libsite-packagesseleniumwebdriverremotewebdriver.py", line 394, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "C:Usersnoahr.virtualenvspythonProject-ME1SVWk8libsite-packagesseleniumwebdriverremotewebdriver.py", line 976, in find_element
return self.execute(Command.FIND_ELEMENT, {
File "C:Usersnoahr.virtualenvspythonProject-ME1SVWk8libsite-packagesseleniumwebdriverremotewebdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:Usersnoahr.virtualenvspythonProject-ME1SVWk8libsite-packagesseleniumwebdriverremoteerrorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[@id='root']/div[@class='login-form']/div[@class='login-form-tabs']/div[@class='TabsNav_TabsNav__3uqOq tabs-nav']/div[@class='nav-link TabNavLink_TabNavLink__1Au2n'] "}
(Session info: chrome=92.0.4515.159)
Структура HTML:
Комментарии:
1. Не могли бы вы также предоставить ссылку на веб-страницу
2. Какой это элемент в пользовательском интерфейсе ?
3. fantasy5.com/football и нажмите кнопку входа/регистрации в правом верхнем углу. фактическая ссылка слишком длинная @SPSharan
4. @cruisepandey моя вина, что я дал неверную ошибку, дайте мне отредактировать
Ответ №1:
Вы можете попробовать приведенный ниже xpath :
//span[text()='Login / Signup']/..
код :
element = WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.XPATH,"//span[text()='Sign Up']/..")))
element.click()
Комментарии:
1. это моя вина за недоразумение. вы нажимаете на кнопку входа в систему, чтобы перейти по фактической ссылке, о которой я говорил. Я не мог прокомментировать ссылку, так как в ней было слишком много символов.
2. @Noah Райли :- Хорошо, я думаю, что вы можете использовать
//span[text()='Sign Up']/..
xpath. Обновлено также выше.
Ответ №2:
Это должно сработать:
wait.until(EC.visibility_of_element_located((By.XPATH, "//div[contains(@class,'nav-link')][2]"))).click()