web-dev-qa-db-ja.com

Seleniumのタイムアウトとポーリングに関する非推奨警告を削除する方法Javaクライアントv3.11.0

以下は、Selenium Webdriverのバージョンを3.11.0に更新した後、非推奨として表示されているコードです。

    private Wait<WebDriver> mFluentWait(WebDriver pDriver) {
    Wait<WebDriver> gWait = new FluentWait<WebDriver>(pDriver).withTimeout(100, TimeUnit.SECONDS)
            .pollingEvery(600, TimeUnit.MILLISECONDS).ignoring(NoSuchElementException.class);   
    return gWait;
}

コードのwithTimeoutおよびpollingEveryセクションに非推奨の警告を表示します。

このコードを書き直して、非推奨の警告を削除できるようにするにはどうすればよいですか。

Seleniumを初めて使用するので、変更について確信が持てません。どんな助けでもありがたいです。

8
kripindas

@Grasshopperの回答は、FluentWaitの正確に変更されたコンストラクタを示していますwithTimeoutおよびpollingEveryフィールドから非推奨警告を削除するという要件。さらに問題が発生した場合は、以下のコード行を使用できます。

import Java.time.Duration;
//lines of code
Wait<WebDriver> gWait = new FluentWait<WebDriver>(pDriver).withTimeout(Duration.ofSeconds(100))
        .pollingEvery(Duration.ofMillis(600)).ignoring(NoSuchElementException.class);

詳細な説明は FluentWait型は一般的ではありません。SeleniumおよびJavaを介してFluentWaitクラスの引数エラーでパラメーター化することはできません

14
DebanjanB

次のコード行を使用できます。

  Wait<Browser> wait = new FluentWait<>(driver)
            .withTimeout(Duration.ofSeconds(*timeToWaitInSec*))
            .pollingEvery(Duration.ofMillis(*TimeToTryinMillisec*))
            .ignoring(WebDriverException.class);
6
fahim reza

FluentWait のソースコードを確認してください。代わりに、引数としてDurationを使用するメソッドを使用することが記載されています。

  1. withTimeout-withTimeout(Duration duration)メソッドを使用します。
  2. pollingEvery-pollingEvery(Duration duration)メソッドを使用します。
5
Grasshopper