повысить TimeoutException (сообщение, экран, трассировка стека) selenium.common.exceptions.TimeoutException: Сообщение: утверждение не выполнено - PullRequest
1 голос
/ 19 февраля 2020

У меня проблема с Selenium Webdriver, при попытке найти элемент программа выдает ошибку «поднять TimeoutException (message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Сообщение: сбой подтверждения»

Мой код с объектной моделью страницы: Мой код: 1-я часть -

  def located_element(self, locator):
        wait = WebDriverWait(self.driver, 30)
        element = wait.until(EC.presence_of_element_located(locator))
        return element

2-я часть

 def enter_email(self, user):
        email_field = self.located_element(self.locator.Email)
        email_field.click()
        email_field.send_keys(Users.get_user(user)["email"])

3-я (работает)

Я пытался некоторые рекомендации по смежным вопросам, но это не помогло мне. Сначала он не мог найти элемент, поэтому я добавил E C, но теперь возникает ошибка. Пожалуйста, помогите мне, как я могу справиться с Исключением. Я пробовал локатор как с xpath, так и с css -selector.

1 Ответ

0 голосов
/ 19 февраля 2020

При первом открытии сайта поле электронной почты не имеет класса input-error. Попробуйте

email_field = self.located_element((By.CSS_SELECTOR, '[data-login-source="loginPage"] [name="email"]'))
...