Можно ли получить данные которые подгружаются через ajax в Selenium?
На сайте при нажатии кнопочки "Продолжить" идет подгрузка через ajax данных, через инспектор я вижу запрос и там лежит большой json, но этот json не показывается пользователю, пользователь видит только текст ошибки.
Вопрос: Если использовать Selenium, я смогу получить данные которые подгружаются через ajax, чтобы в итоге я получил полный json который можно найти в инспекторе браузера?
Или может кто-то подскажет альтернативу Selenium, но сразу уточню, что сайт использует JS.
АртемЪ вопрос в том, можно ли получать данные через Selenium, которые сайт подгружает через ajax и не показывает пользователю.
т.е. Сайт загрузился, мы заполнили форму, нажимаем отправить и идет ajax
POST запрос, на который выдается json который мне нужен, этот json не показывается пользователю. Seleniumом можно вытаскивать эти данные?)
Us59, Когда вы работаете с Selenium или чем то подобным, то нет такого понятия как "показывает"
Там используется безголовый браузер, он не может что-то показывать.
Вы работаете с загруженной с сервера страницей. Все что там есть - вам доступно.
АртемЪ, не знаю как еще объяснить... Грубо говоря на самой странице этих данных нету.. они подгружаются через ajax при нажатии кнопки. В браузере через инспектор я вижу идет POST запрос, сервер отвечает json данными, а пользователю показывается лишь ошибка. Вопрос состоит в том, можно ли получить json данные которые не видит пользователь. В браузере эти данные можно посмотреть в инспекторе -> Network
Можно тут целый веер способов. Если брать из них только те что доступны с обычного селениума, то все идут через javascript и подразумевают что вы:
1) либо повторите этот ajax запрос
2) либо подключитесь к функции что его посылает и прослушаете её
3) либо найдёте в какой переменой если она есть ещё в теле страницы хранятся данные.
Но если отказаться от селениума то будет обычно лучше. =)