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