@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?
Спасибо за ответ!
  • Вопрос задан
  • 108 просмотров
Решения вопроса 2
15432
@15432
Системный программист ^_^
Потому что блок try перехватывает только те типы исключений, которые вы указали (либо все, если не указывать тип вовсе).
И TimeoutException не является AssertionError.
Ответ написан
Комментировать
SoreMix
@SoreMix Куратор тега Python
yellow
Потому что элемент не был найден спустя время, заданное в wait. Поэтому и вызывается TimeoutException.
В блок except не попадает, потому что он отлавливает только AssertionError
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы