@PandaNePanda

Python selenium, как задать условия if else опираясь на xpath сайта?

Нужно, чтобы скрипт выполнял разную последовательность действий в зависимости от того, какая информация ВИДНА пользователю. Условно, есть страничка, на ней есть спойлер, скрывающий необходимую ссылку. Этот спойлер появляется рандомно, чаще всего его нет. Но если он есть, то данная ссылка некликабельна для скрипта (selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable), из-за чего он закрывается. Как сделать так, чтобы скрипт проверял наличие этого спойлера, и если он есть, то нажимал на него и далее производил один алгоритм действий, а в случае, если его нет - другой?
  • Вопрос задан
  • 512 просмотров
Решения вопроса 1
glaphire
@glaphire
PHP developer
Опишу общими словами:
1) найти на странице доказательство того, что базовый контент загрузился (обычно это div - контейнер для контента, который надо парсить)
2) после п.1 xpath-ом искать наличие спойлера (можно с explicit waiting и завернуть в try/catch)
3) если спойлера нет, идти по второй ветке логики парсинга.
Короче идея в том, чтобы проверить, что страница на момент поиска спойлера уже в валидном состоянии, и отсутствие спойлера это не ошибка
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vsenafokse
If {объект} in driver.pagesource
Ответ написан
Ваш ответ на вопрос

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

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