【问题标题】:Headless browser automation - Using Selenium with htmlunit driver无头浏览器自动化 - 将 Selenium 与 htmlunit 驱动程序一起使用
【发布时间】:2014-10-24 19:31:34
【问题描述】:
我正在寻找一个可靠的应用程序/工具,用于使用无头浏览器实现自动化。
调查了 htmlunit 和 httpunit ,据我了解,它们是内置的和“时代”
在现代 Javascrips 可用之前的方式,因此使用它们可能会导致一些问题。
然后我进一步观察,显然可以使用 Selenium(我以前使用过)
与 htmlunit 驱动程序一起使用。
我很困惑。首先,为什么要在 htmlunit 中使用 Selenium?测试期间调用了哪些 API,Selenium 的 htmunit 的?另一件事是为什么有人选择使用 htmlunit 知道它不支持现代网站?
提前致谢。
【问题讨论】:
标签:
selenium
selenium-webdriver
webdriver
htmlunit
【解决方案1】:
首先Selenium with HtmlUnit 目前支持JS,但有一些限制:
当我们说“javascript”时,我们实际上是指“javascript 和 DOM”。
尽管 DOM 是由 W3C 定义的,但每个浏览器都有自己的
他们在实现 DOM 和在
javascript 如何与之交互。 HtmlUnit 有一个令人印象深刻的
DOM的完整实现,对使用有很好的支持
javascript,但它与任何其他浏览器没有什么不同:它有它的
自己的怪癖和与 W3C 标准和 DOM 的区别
主要浏览器的实现,尽管它能够模仿
其他浏览器。
Reference
首先,为什么要在 htmlunit 中使用 Selenium?
HtmlUnitDriver 是迄今为止最快的WebDriver 实现。有时你只是不关心 JS 的执行——确实还有这样的网站。肯定有很多原因。例如,我用它来完成简单的管理任务。
测试期间调用了哪些 API,Selenium 的 htmunit 的?
您将使用 WebDriver 的 API 来调用浏览器。
有类似here.