Возникла такая проблема. Пытаюсь автоматизировать авторизацию и выход из аккаунта на сайте.
За эти действия отвечает одна и та же кнопка, по клику появляется всплывающее меню, либо с формой авторизации, либо с меню пользователя.
У меня в тесте идет авторизация и сразу же выход из аккаунта.
Проблема в том, что сначала выполняется ajax запрос и только потом авторизация и перезагрузка.
Получается пока выполняется ajax запрос запускается уже следующее действие - logout , не находит кнопку выхода и падает.
Как правильно дожидаться пока завершится ajax запрос, пойдет перезагрузка и только потом выполнять следующее действие?
По поводу аякса находил когда-то вот такое решение:
JQuery.active вроде возвращает число активных запросов в текущий момент, соответственно если их 0, то ф-я возвращает True, а если больше 0, то False
пробовал, не получилось, но частично проблему решил.
получается я отправляю форму и страница должна начать перезагружаться, а selenium видимо быстр настолько, что успевает выполнить действие еще до начала перезагрузки.
Поэтому после отправки формы я и советовал сначала ждать исчезновения какого-нибудь элемента, чтобы selenium не продолжал пока не исчезнет элемент, что означало бы, что страница начала перезагружаться, а потом ожидать появления нужного элемента. Вы так тоже попробовали?
так поставьте себе BMP, и следите за тем что приходит на страницу…
типа - если пришол такой ответ, значит сервер жив, можно дальше кликать, а нет, тогда ждать… всё.
ну и поставить мах время на выполнение действий (так сказать чтобы не зависнуть на всегда)