@danilr

Как сделать цикл для Selenium на python с проверкой существования элемента на странице?

У меня такая проблема - selenium проходит по форме на странице сайта и нажимает кнопку "Send", но спустя 20-40 секунд может возникнуть ошибка и появляется текст span "failed to fetch".

Как мне в цикле while нажимать на кнопку отправить, затем ждать 40 секунд, если появилось сообщение с ошибкой, нажать ещё раз на кнопку "Send" и так до тех пор, пока не будет успеха(успех - это сообщение span "Success")?

Друзья, помогите пожалуйста, я не понимаю как сделать это с реализацией на python + selenium. Надо как-то проверять существование этого сообщения, но if не работает в обычном понимании.
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 2
moonz
@moonz
web developer | seo | design
Для реализации данной задачи я бы рекомендовал использовать рекурсивную функцию.
У Selenium есть не мало методов явного и не явного ожидания почитать можно в официально документации

По истечению необходимого времени ожидания, ловите исключение и вызывайте функцию повторно.

Во избежания бесконечной рекурсии, стоит описать сценарий выхода из неё. Например спустя 10 попыток.
Ответ написан
Комментировать
MerzoIT
@MerzoIT
Python developer
Авто-тестирование, обычно, заворачивают в
try:
    ...
except:
    ...

Такая апхитектура должна помочь вам, с вашей проблемой
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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