@AYKostarev

Как дождаться ответа от xmlhttprequest запроса при выполнении JS скрипта в Python Selenium?

Необходимо отправить запрос на странице и вернуть ответ (requests не подходит). Делаю это через driver.execute_script(). Скрипт выглядит так: 'let xhr = new XMLHttpRequest();xhr.open("GET", URL);xhr.send();return xhr.response;'. Ответ не возвращается, так как запрос не успевает выполнится.
При добавлении 'xhr.onload = function () {return xhr.response;};' возвращается None.
Также, пробовал возвращать значение уже в следующем execute_script, тоже не получается.

Подскажите пожалуйста, как это можно реализовать?
  • Вопрос задан
  • 560 просмотров
Пригласить эксперта
Ответы на вопрос 2
@rPman
В общем случае, заменить XMLHttpRequest своим, который бы вызывал на каждый успешный запрос ваш колбек, примерно так
Ответ написан
Комментировать
@GeneD88
QA
не успевает выполнится

Имеется ввиду, что он долго выполняется?

Необходимо делать что то в момент пока выполняется этот запрос?
Если нет, то можно поставить wait до вашего return. Либо сделать его async.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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