Я не могу найти этот элемент, python selenium

#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()