20

我一直在研究迄今为止可用的无头浏览器,发现 HtmlUnit 被广泛使用。与 HtmlUnit 相比,我们有任何替代 HtmlUnit 的可能优势吗?

谢谢奈恩

4

6 回答 6

7

据我所知,HtmlUnit` 是最强大的无头浏览器。

你有什么问题?

于 2010-11-23T09:48:26.440 回答
5

您可以为此使用许多其他库。

  • 如果您需要抓取 xml 基础数据,请使用JTidy
  • 如果您需要从 HTML 中抓取特定数据,可以使用Jsoup

好吧,我使用 jsoup - 它比任何其他 API 都快得多。

于 2012-11-13T07:27:20.980 回答
4

具有虚拟帧缓冲区的 WebDriver 是唯一真正的替代方案。优点是它使用的是真正的浏览器;缺点是设置起来比较麻烦,API也差很多。

于 2010-11-23T09:51:07.597 回答
3

我将在我的用例中使用 Selenium,因为它让我可以使用真实的浏览器,并且与 HtmlUnit 相比,它不会偏离它在现实世界中呈现的内容。我打算使用 Selenium2,它集成了 WebDriver 并提供了很棒的 AP​​I 和很酷的修复。谢谢奈恩

于 2010-11-30T08:29:12.493 回答
2

我使用 webkit 作为无头浏览器,通过 Qt 的 Python 绑定:http ://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qtwebkit.html

Webkit 是 Chrome 和 Safari 使用的渲染引擎,非常灵活。

我选择它而不是 HtmlUnit 的原因之一是易于设置:

sudo apt-get install python-qt4
于 2010-11-29T23:54:34.220 回答
2

我也会推荐硒。伟大的功能是您可以创建一个打开浏览器页面的客户端,您可以在每个步骤中查看正在发生的事情。此外,为自动化测试创建宏是另一个不错的功能。但是,如果您需要从网页中删除一些信息,HtmlUnit 比 selenium 更好。

于 2011-08-16T21:24:37.150 回答