如何在 Selenium Java 客户端 v3.11.0 中删除关于超时和轮询的弃用警告
How to remove deprecation warning on timeout and polling in Selenium Java Client 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 的新手,所以我不确定变化。任何帮助将不胜感激。
检查 FluentWait 的源代码,其中提到使用使用 Duration 作为参数的方法。
- withTimeout - 使用
withTimeout(Duration duration)
方法。
- pollingEvery - 使用
pollingEvery(Duration duration)
方法。
@Grasshopper 的回答向我们指出了 FluentWait 的确切修改 constructor 以及您从 [= 中删除弃用警告的要求14=]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);
You can find a detailed discussion in
您可以使用以下代码行:
Wait<Browser> wait = new FluentWait<>(driver)
.withTimeout(Duration.ofSeconds(*timeToWaitInSec*))
.pollingEvery(Duration.ofMillis(*TimeToTryinMillisec*))
.ignoring(WebDriverException.class);
升级到 Selenium 4 后,很少有旧方法被弃用,Fluent wait 是其中的一部分。
以类似的顺序使用以下代码无缝执行:
Wait<Browser> wait = new FluentWait<>(driver)
.withTimeout(Duration.ofSeconds(*timeToWaitInSec*))
.ignoring(WebDriverException.class)
.pollingEvery(Duration.ofMillis(*TimeToTryinMillisec*));
另请参阅下面的文章,了解 Selenium 4 中的其他 changes/upgrade。
下面是我的代码,在我将 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 的新手,所以我不确定变化。任何帮助将不胜感激。
检查 FluentWait 的源代码,其中提到使用使用 Duration 作为参数的方法。
- withTimeout - 使用
withTimeout(Duration duration)
方法。 - pollingEvery - 使用
pollingEvery(Duration duration)
方法。
@Grasshopper 的回答向我们指出了 FluentWait 的确切修改 constructor 以及您从 [= 中删除弃用警告的要求14=]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);
You can find a detailed discussion in
您可以使用以下代码行:
Wait<Browser> wait = new FluentWait<>(driver)
.withTimeout(Duration.ofSeconds(*timeToWaitInSec*))
.pollingEvery(Duration.ofMillis(*TimeToTryinMillisec*))
.ignoring(WebDriverException.class);
升级到 Selenium 4 后,很少有旧方法被弃用,Fluent wait 是其中的一部分。
以类似的顺序使用以下代码无缝执行:
Wait<Browser> wait = new FluentWait<>(driver)
.withTimeout(Duration.ofSeconds(*timeToWaitInSec*))
.ignoring(WebDriverException.class)
.pollingEvery(Duration.ofMillis(*TimeToTryinMillisec*));
另请参阅下面的文章,了解 Selenium 4 中的其他 changes/upgrade。