【发布时间】:2010-11-23 07:21:41
【问题描述】:
我一直在研究迄今为止可用的无头浏览器,并发现 HtmlUnit 被广泛使用。与 HtmlUnit 相比,我们是否有任何 HtmlUnit 替代品可能具有优势?
谢谢 奈恩
【问题讨论】:
标签: screen-scraping web-crawler htmlunit headless-browser
我一直在研究迄今为止可用的无头浏览器,并发现 HtmlUnit 被广泛使用。与 HtmlUnit 相比,我们是否有任何 HtmlUnit 替代品可能具有优势?
谢谢 奈恩
【问题讨论】:
标签: screen-scraping web-crawler htmlunit headless-browser
据我所知,HtmlUnit` 是最强大的无头浏览器。
你有什么问题?
【讨论】:
webClient.setThrowExceptionOnScriptError(false); 有效地忽略 Javascript 错误。
具有虚拟帧缓冲区的 WebDriver 是唯一真正的替代方案。优点是它使用的是真正的浏览器;缺点是设置起来比较麻烦,API也差很多。
我将在我的用例中使用 Selenium,因为它让我可以使用真实的浏览器,并且与 HtmlUnit 相比,它不会偏离它在现实世界中呈现的内容。 我计划使用 Selenium2,它集成了 WebDriver 并提供了很棒的 API 和很酷的修复。 谢谢 奈恩
【讨论】:
我使用 webkit 作为无头浏览器,通过 Qt 的 Python 绑定:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qtwebkit.html
Webkit 是 Chrome 和 Safari 使用的渲染引擎,非常灵活。
我选择它而不是 HtmlUnit 的原因之一是易于设置:
sudo apt-get install python-qt4
【讨论】:
我也会推荐 Selenium。伟大的功能是您可以创建一个打开浏览器页面的客户端,您可以看到每一步发生的事情。此外,为自动化测试创建宏是另一个不错的功能。 但是,如果你需要从网页中抓取一些信息,HtmlUnit 比 selenium 更好。
【讨论】: