Есть ли способ определить, есть ли элемент, блокирующий кликабельный элемент, с помощью Selenium?

88
7

Я пытаюсь создать сценарий, который будет нажимать на каждую ссылку по данному URL, но иногда появляются всплывающие окна/наложения, которые блокируют ссылку.

Можно ли будет обнаружить эти всплывающие окна/наложения, используя Selenium или Javascript?

Я пытался использовать is_displayed, is_enabled и EC.element_is_clickable но, похоже, ничего не работает.

РЕДАКТИРОВАТЬ: Я надеюсь найти способ обнаружить блокирующий элемент без нажатия.

спросил(а) 2021-01-25T20:47:17+03:00 4 месяца, 4 недели назад
1
Решение
124

это с помощью этого:

try:
element.Click()
except ElementNotClickableException as x:
//handle not being able to click element here, you can try to select the element by taking the attributes that are returned in the exception message, or check the exception message to see if it really is an ad, something like x.Message.Contains("class=pop-up")

Надеюсь, поможет

ответил(а) 2021-01-25T20:47:17+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема