0

Selenium webdriver用の 2 分のスクリプトが 1 つあります。FirefoxDriverChromeDriverで非常にうまく動作します。実際のブラウザで失敗することはありません。

しかし、HTMLUnitドライバーで実行すると、ランダムに失敗することがわかりました。要素が見つからないなどの例外をスローします。

私が試した解決策:

  1. Thread.sleep を 6000 ミリ秒に追加します。しかし、それでも毎回実行されるわけではありません
  2. 待機を追加しますが、同じ行でエラーをスローします
  3. 要素のロケーターを Id から xpath または CSS パスに変更します。

構成とバージョン:

セレン-Java: 2.53.0

セレンサーバー: 2.53.0

htmlユニットドライバー: 2.21

テストNG:6.8.8

4

1 に答える 1

1

以下に示すように、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>
于 2016-06-07T07:38:51.427 に答える