以下は、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を初めて使用するので、変更について確信が持てません。どんな助けでもありがたいです。
@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クラスの引数エラーでパラメーター化することはできません
次のコード行を使用できます。
Wait<Browser> wait = new FluentWait<>(driver)
.withTimeout(Duration.ofSeconds(*timeToWaitInSec*))
.pollingEvery(Duration.ofMillis(*TimeToTryinMillisec*))
.ignoring(WebDriverException.class);
FluentWait のソースコードを確認してください。代わりに、引数としてDurationを使用するメソッドを使用することが記載されています。
withTimeout(Duration duration)
メソッドを使用します。pollingEvery(Duration duration)
メソッドを使用します。