Несколько исключений не обрабатываются - PullRequest
0 голосов
/ 07 мая 2018

В настоящее время я использую несколько исключений в цикле for. Однако они по-прежнему выдают ошибки исключений, и я не уверен, почему они не обрабатываются.

Вот мой код:

for x in range (15):
    actions.click_and_hold(element1).move_to_element(element2).release().perform()
    try:
        WebDriverWait(driver, 5).until(
            EC.visibility_of_element_located((elementLocator))
            )
        return True
    except (StaleElementReferenceException, TimeoutException):
        break

Здесь выдается ошибка:

StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
  (Session info: headless chrome=67.0.3396.30)
  (Driver info: chromedriver=2.36.540469 (1881fd7f8641508feb5166b7cae561d87723cfa8),platform=Mac OS X 10.13.4 x86_64)

1 Ответ

0 голосов
/ 08 мая 2018

Я не вижу никакой проблемы в вашем блоке кода как таковой, но ваша основная проблема заключается в совместимости версии между двоичными файлами, которые вы используете следующим образом:

  • Вы используете chromedriver = 2,36
  • Примечания к выпуску chromedriver = 2,36 четко упоминает следующее:

Поддержка Chrome v63-65

  • Вы используете хром = 67.0
  • Примечания к выпуску ChromeDriver v2.38 четко упоминает следующее:

Поддержка Chrome v65-67

Таким образом, существует явное несоответствие между ChromeDriver версией ( v2.36 ) и Chrome Browser версией ( v67.0 * 1048) *)

Решение

  • Обновление ChromeDriver до текущей ChromeDriver v2.38 уровень.
  • Сохранить Chrome версия на уровне Chrome v67.x . ( в соответствии с примечаниями к выпуску ChromeDriver v2.38 )
  • Очистите ваше Рабочее пространство проекта через IDE и Перестройте ваш проект только с необходимыми зависимостями.
  • Используйте CCleaner инструмент, чтобы стереть все рутинные операции ОС до и после выполнения test Suite .
  • Если ваша базовая веб-клиент версия устарела, удалите ее через Revo Uninstaller и установите последнюю версию GA и выпущенную версию Web Клиент .
  • Возьмите Перезагрузка системы .
  • Выполните ваши @Test.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...