Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2019, 04:22   #1
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию Selenium, дождаться начала загрузки страницы

Здравствуйте.
Суть задачи: авторизация на странице, с проверкой на её успешность.
Единственное достоверное условие успешной авторизации - переход на следующую определённую страницу:
Код:
if (driver.Url=="определённая страница")
{
	// авторизовались
}
Но есть проблема: при нажатии на кнопку авторизации форма отправляется не самим браузером, а JS-обработчиком кнопки, из-за чего в моём коде не понятно, происходила ЛИ вообще попытка авторизации; точнее сказать - когда она произошла, и что из этого получилось.
Единственное что я имею - страница начала загружаться. Как это дело можно отследить ?
Только после факта начала загрузки (и ожидания её завершения) имеет смысл смотреть на driver.Url; а если загрузка страницы и не начиналась - то тут уже имеет смысл поставить время, задержка не перед проверкой ссылки, а на условие начала загрузки страницы.
Был здесь, и действительно, на время работы скрипта можно поставить секунду, но так не интересно.
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 26.05.2019 в 04:25.
OmegaBerkut вне форума Ответить с цитированием
Старый 26.05.2019, 10:59   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от OmegaBerkut Посмотреть сообщение
Единственное достоверное условие успешной авторизации - переход на следующую определённую страницу
это как? там же наверняка появляются или пропадают какие-то элементы типа кнопки входа, вот и ждите их.
http://www.programmersforum.ru/showt...75#post1740238
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.05.2019, 15:09   #3
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
это как? там же наверняка появляются или пропадают какие-то элементы типа кнопки входа, вот и ждите их.
Если авторизация не прошла - JS-обработчик кнопки не выполняет переход на следующую страницу, а просто выдаёт информацию о том что "ашыпка".
Мне нужно проверить не ошибку авторизации, а её успешность - потому что происходит всего одно действие, переход на другую страницу.
Но даже проверка на наличие ошибки имеет ту же проблему - начиная с какого именно момента нужно проверять какое либо условие: конкретный JS-код завершил работу, а для этого нужно ещё найти тот код, который выполняет обработку нажатия на кнопку. Потом накодить ожидание завершения выполнения JS-кода ...
Что разве отсутствует возможность посмотреть, началась ли загрузка новой страницы ?
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 26.05.2019, 22:49   #4
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от OmegaBerkut Посмотреть сообщение
при нажатии на кнопку авторизации форма отправляется не самим браузером
Вот, только что задержки в одну секунду не хватило, JS-обработчик тупил слишком долго (что зависит от загруженности компьютера и качества соединения).
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 26.05.2019, 23:38   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Можно ждать оба варианта (ошибка или что-то доступное после входа) в своем колбэке для WebDriverWait.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дождаться полной загрузки сайта jsoup Borlehandro Общие вопросы по Java, Java SE, Kotlin 2 09.08.2017 13:36
C# awesomium дождаться полной загрузки страницы Radzhab C# (си шарп) 0 30.05.2017 15:02
Цикл внутри цикла. Дождаться полной загрузки страницы. Shouldercannon Общие вопросы Delphi 4 25.07.2015 18:25
C# awesomium дождаться полной загрузки страницы Mr_DeviL C# (си шарп) 4 27.04.2015 21:06
Обращение к DOM с начала страницы WennY JavaScript, Ajax 4 17.05.2011 11:28