Дождитесь загрузки всех данных с веб-страницы в HTTPoison - PullRequest
0 голосов
/ 30 сентября 2018

Я пытаюсь загрузить веб-страницу, где интересующие меня данные загружаются через Ajax после начальной загрузки страницы.Когда я выбираю страницу, я вижу текст Loading records....

Мне интересно, какие методы я могу использовать, чтобы дождаться загрузки этого раздела, прежде чем мне будут возвращены данные.

В настоящее время я использую библиотеку Elixir HTTPoison, но яоткрыт для различных техник в эликсире / эрланге.

1 Ответ

0 голосов
/ 30 сентября 2018

Библиотеки, подобные HTTPoison, только отправляют первоначальный веб-запрос, возвращая содержимое, отображаемое на сервере.Они не обрабатывают клиентский код и разметку.Вам нужен безголовый браузер / веб-драйвер, такой как PhantomJS, чтобы фактически обработать его и выполнить код JavaScript (аналогично тому, как это делает обычный веб-браузер).

Две популярные библиотеки Elixir, которые выполняютзадания (хотя они в основном используются для интеграционного тестирования):


Если вызов Ajax достаточно прост, другой вариант - сначала загрузить веб-страницу и скрипты, используя HTTPoison, а затем извлечь код Javascript, используя что-то вроде * 1024.*, проанализируйте выполняемый вызов Ajax и затем выполните его вручную с помощью HTTPoison.

...