0

我正在尝试加载一个网页,我感兴趣的数据是Ajax在初始页面加载后加载的。当我获取页面时,我当前看到的文本是Loading records....

我想知道在将数据返回给我之前,我可以使用哪些技术来等到该部分加载完毕。

目前我正在使用 ElixirHTTPoison库,但我对 Elixir/Erlang 中的不同技术持开放态度。

4

1 回答 1

1

像这样的库HTTPoison只发出初始 Web 请求,返回“服务器渲染”的内容。他们不处理客户端代码和标记。你需要一个无头浏览器/网络驱动程序PhantomJS来实际处理它并执行 javascript 代码(类似于普通网络浏览器的工作方式)。

完成这项工作的两个流行的 Elixir 库(尽管它们主要用于集成测试)是:


如果 Ajax 调用足够简单,另一种选择是首先使用 加载网页和脚本HTTPoison,然后使用类似的东西提取 Javascript 代码Floki,解析正在进行的 Ajax 调用,然后通过手动执行它HTTPoison

于 2018-09-30T07:38:36.257 回答