Задать вопрос
@PesyCorm

Почему не отрабатывает except?

Привет! Не совсем понимаю, почему из функции в блоке try вылетает исключение.
try:
			while True:
  # цикл имеет условие выхода, здесь убрал для сокращения кода
			    wait.until(
					    EC.presence_of_element_located(
						    (By.CLASS_NAME, "demoAuth__item-image")
						    )
					    ).click()
except AssertionError as e:
			print(e, "Элемент не обнаружен на странице")

Специально указал неправильное имя класса, чтобы посмотреть отрабатывает ли exceptПосле ожидания вылетает TimeoutException. Не могу понять, почему не переходит в except?
Спасибо за ответ!
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Решения вопроса 2
15432
@15432
Системный программист ^_^
Потому что блок try перехватывает только те типы исключений, которые вы указали (либо все, если не указывать тип вовсе).
И TimeoutException не является AssertionError.
Ответ написан
Комментировать
SoreMix
@SoreMix Куратор тега Python
yellow
Потому что элемент не был найден спустя время, заданное в wait. Поэтому и вызывается TimeoutException.
В блок except не попадает, потому что он отлавливает только AssertionError
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы