【发布时间】:2016-02-12 05:41:15
【问题描述】:
我为自动化编写了一个 selenium 脚本,我正在使用 HTMLUnitDriver 在 linux 上将它作为无头浏览器运行。我有点担心 -
- 当我尝试使用 WebDriver 运行相同的脚本时,即
WebDriver driver = new FirefoxDriver(),它成功运行良好。 - 但是当我尝试使用 HTMLUnitDriver 运行相同的脚本时,即
HTMLUnitDriver driver = new HTMLUnitDriver(),我得到一个异常并且异常如下:
org.openqa.selenium.TimeoutException:等待元素可点击100秒后超时:By.xpath:
我不知道这个异常的根本原因是什么,因为相同的脚本正在运行,而 firefox 或 chrome 驱动程序没有任何问题,但只有它不能与 HTMLUnitDriver 一起使用。我也试过增加时间,但也没有用。
请任何人提供任何帮助,将不胜感激.....谢谢。
【问题讨论】:
-
尝试启用 JS -
HTMLUnitDriver driver = new HTMLUnitDriver(true) -
我试过这个安装java脚本然后它也没有运行,它显示索引超出范围异常-java.lang.IndexOutOfBoundsException:索引:4,大小:0
-
这似乎是一个不同的问题。您必须调试代码才能找到答案。不看代码就不能在这里做很多事情。
-
作为替代方案,您可以尝试使用 PhantomJS 浏览器进行无头硒自动化。
-
我建议此时不要使用无头驱动程序。 Chrome 的启动速度与无头驱动程序一样快,并且使用 XVFB,您无需真正的 GUI 即可运行它。目前的无头驱动程序使用过时的渲染和 JavaScript 引擎,并不能真正代表现实世界的场景。
标签: selenium selenium-webdriver htmlunit-driver