【问题标题】:HttpClient with Selenium or HTMLUNIT?带有 Selenium 或 HTMLUNIT 的 HttpClient?
【发布时间】:2016-02-16 23:44:13
【问题描述】:

好的,所以我在一个小泡菜中。我遇到了 JSoup 的问题,因为该页面需要 Javascript 才能完成加载某些页面。幸运的是,我过去曾解决过它(解析了原始的 javascript 代码),而且非常乏味。最近,我尝试制作一个程序来登录网站,但它需要来自元素的令牌。除非执行 JavaScript,否则该表单元素是不可见的,因此我什至无法提取它。所以我决定研究 Selenium。

第一个问题,这是我应该研究的图书馆吗?我之所以如此执着于使用 HttpClient 是因为其中一些网站的流量非常高,并且不会一直加载 但是 我不需要这些页面来加载所有方式。我只需要它加载到足以检索登录令牌的位置。一旦我发现所需的方法与让 Selenium 自动执行单击/等待/键入序列相比,我更喜欢使用原始 JSON/POST 方法与网络服务器通信。

基本上,我只需要 selenium 加载 1/4 的页面,只是为了检索请求令牌。我的程序的其余部分将使用 HttpClient 发送 POST 方法。

或者我应该让 selenium 完成所有工作?我的目标是速度。我需要登录,快速购买商品。

编辑:实际上,我可能会选择 HtmlUnit,因为它非常小。我只需要抓取信息,我不想运行 Selenium 的 StandAlone Server。这是更好的方法吗?

【问题讨论】:

    标签: javascript java selenium


    【解决方案1】:

    基本上,HtmlUnit 比 Selenium 更快,所以如果你追求速度,你应该使用它。无论如何,请记住 Selenium 有自己的 HtmlUnitDriver 实现。因此,作为另一种选择,您可以将 Selenium 与 HtmlUnit 一起使用。它们之间的区别在于 HtmlUnit 本身是一个没有 GUI 的浏览器,而 Selenium 可以调用浏览器功能。您可能想查看其他问题以了解更多详细信息:Selenium vs HtmlUnit?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 2017-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多