@Diolorca

Как отследить всплывающий блок div с помощью selenium?

Здравствуйте!
Есть некий сайт (не могу его показать). На нем, когда выполняешь определенное действие (нажатие кнопки, например), то появляется что-то вроде уведомления, отображающее статус выполнения операции и ее окончание.
Я пытаюсь автоматизировать некоторые рутинные задачи (нажатие кнопок), и вообщем-то мой скрипт работает, но из-за того, что процесс может идти быстрее или медленнее (а именно статус этого процесса отображает div блок), не всегда удается попасть в тайминги. В итоге возникают ошибки.
Вопрос в том, как отследить этот блок div? По инспектору кода, этот div блок появляется на время уведомления о процессе и потом исчезает из кода. Пробовал его отслеживать с помощью find_element_by... (class, div, text и т.д), но безрезультатно. selenium не находит этот div-блок с уведомлением.
Помогите советом.
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
Как это сделать на Python я не знаю, но на JavaScript это можно сделать аж 3 способами:
1. Использовать setTinterval для циклической проверки страницы, допустим, каждую секунду
2. Использовать событие DOMSubtreeModified и по факту изменений проверять страницу, данное событие хоть и морально устарело, но оно до сих пор рабочее
3. Использовать современный MutationObserver, чтобы обнаружить нужные изменения и мгновенно найти кнопку как только она появиться
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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