标签: fluentwait

如何在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;
}
Run Code Online (Sandbox Code Playgroud)

在代码中显示已弃用的警告withTimeoutpollingEvery部分.

如何重写此代码以便我可以删除已弃用的警告.

由于我是硒的新手,我不确定这种变化.任何帮助将不胜感激.

java selenium webdriver selenium-webdriver fluentwait

7
推荐指数
3
解决办法
6863
查看次数

在Fluent Wait中处理NoSuchElementException

我知道,在等待DOM尚未出现的网络元素方面,最有效的是流畅的等待.所以我的问题是:

有没有办法处理和捕获NoSuchElementException流利的等待可能抛出的或任何异常因为元素不存在?

我需要一个布尔方法,它会给我结果是否找到元素.

这种方法在网上很流行.

public void waitForElement(WebDriver driver, final By locator){
    Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
            .withTimeout(60, TimeUnit.SECONDS)
            .pollingEvery(2, TimeUnit.SECONDS)
            .ignoring(NoSuchElementException.class);

   wait.until(new Function<WebDriver, WebElement>() {
        public WebElement apply(WebDriver driver) {
            return driver.findElement(locator);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我需要的是,**.ignoring(NoSuchElementException.class);**不会被忽视.一旦捕获到异常,它将返回FALSE.另一方面,当找到元素时,它将返回TRUE.

java selenium-chromedriver selenium-webdriver nosuchelementexception fluentwait

3
推荐指数
1
解决办法
1301
查看次数

隐式等待、显式等待、流畅等待

隐式、显式、流利等之间有什么区别?

如果我们在隐式等待中设置 10 秒,并且在 10 秒之前,则在 3 秒内只有元素被定位。

到时候会发生什么?它将等待 10 秒钟或继续进行。

selenium selenium-webdriver webdriverwait fluentwait implicitwait

1
推荐指数
1
解决办法
4081
查看次数