【问题标题】:Having Difficulty in runnig the selenium script with HTMLUnitDriver使用 HTMLUnitDriver 运行 selenium 脚本有困难
【发布时间】: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


【解决方案1】:

团队只是一个想法 - 首先这似乎是错误 - 在等待元素可点击 100 秒后超时:By.xpath:

这意味着在 Webdriver 中启用它而 HtmlUnit 禁用它?? ..我想知道由于任何原因在两者中查找元素是否存在差异。

  1. 先试试这个
    Firefox:: 使用 Firefox 查找元素 - 检查是否启用。

    HTMLUnit:: 既然你提到了它等待可点击并且错误不是找不到元素首先找到元素,然后下一行,如果元素启用则显示或不。

  2. 还要在两者之间检查元素是否与您需要的元素相同。检查属性/文本或其他内容。

这将告诉您问题是元素本身还是它的属性[启用/可点击]。

同样,如果同一页面中的某些元素是可找到和可点击的,您也可以检查 HTMLUnit 驱动程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 2013-08-21
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 2023-02-19
    相关资源
    最近更新 更多