我正在尝试加载一个网页,我感兴趣的数据是Ajax
在初始页面加载后加载的。当我获取页面时,我当前看到的文本是Loading records...
.
我想知道在将数据返回给我之前,我可以使用哪些技术来等到该部分加载完毕。
目前我正在使用 ElixirHTTPoison
库,但我对 Elixir/Erlang 中的不同技术持开放态度。
像这样的库HTTPoison
只发出初始 Web 请求,返回“服务器渲染”的内容。他们不处理客户端代码和标记。你需要一个无头浏览器/网络驱动程序PhantomJS
来实际处理它并执行 javascript 代码(类似于普通网络浏览器的工作方式)。
完成这项工作的两个流行的 Elixir 库(尽管它们主要用于集成测试)是:
如果 Ajax 调用足够简单,另一种选择是首先使用 加载网页和脚本HTTPoison
,然后使用类似的东西提取 Javascript 代码Floki
,解析正在进行的 Ajax 调用,然后通过手动执行它HTTPoison
。