Несколько исключений не обрабатываются
В настоящее время я использую несколько исключений в цикле 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 ответ
Я не вижу никакой проблемы в вашем кодовом блоке как таковой, но ваша основная проблема заключается в совместимости версий между двоичными файлами, которые вы используете, следующим образом:
- Вы используете chromedriver=2,36
- В примечаниях к выпуску chromedriver=2.36 четко упоминается следующее:
Поддерживает Chrome v63-65
- Вы используете Chrome=67,0
- В примечаниях к выпуску ChromeDriver v2.38 четко упоминается следующее:
Поддерживает Chrome v65-67
Таким образом, существует явное несоответствие между версией ChromeDriver (v2.36) и версией Chrome Browser (v67.0)
Решение
- Обновите ChromeDriver до текущего уровня ChromeDriver v2.38.
- Держите версию Chrome на уровне Chrome v67.x. ( согласно примечаниям к выпуску ChromeDriver v2.38)
- Очистите рабочее пространство проекта через IDE и перестройте проект только с необходимыми зависимостями.
- Используйте инструмент CCleaner, чтобы стереть с себя все обязанности ОС до и после выполнения тестового пакета.
- Если ваша базовая версия веб-клиента слишком старая, удалите ее с помощью Revo Uninstaller и установите последнюю версию GA и выпущенную версию веб-клиента.
- Возьмите перезагрузку системы.
- Выполните свой
@Test
,