为什么 HtmlUnitDriver 会随机失败(FirefoxDriver/ChromeDriver 可以工作)



我有一个 Selenium 网络驱动程序的 2 分钟脚本。它与FirefoxDriverChromeDriver配合得很好。它永远不会在真正的浏览器中失败。

但是当我使用 HTMLUnit 驱动程序运行时,我发现它随机失败。抛出异常,例如找不到元素。

我尝试过的解决方案:

  1. 将 Thread.sleep 添加到 6000 毫秒。但仍然不是每次都运行
  2. 添加等待,但在同一行抛出错误
  3. 将元素的定位器从 Id 更改为 xpath 或 CSS 路径。

配置和版本:

硒爪哇 : 2.53.0

硒服务器 : 2.53.0

html单元驱动程序:2.21

测试NG : 6.8.8

添加显式等待 WebDriver 引发无法找到元素异常的元素,如下所示 -

WebDriverWait wait = new WeBDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("")));

此外,请确保已将以下依赖项添加到项目中 -

<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>htmlunit-driver</artifactId>
<version>2.21</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-support</artifactId>
<version>2.53.0</version>
</dependency>

相关内容

  • 没有找到相关文章

最新更新