如何更新Selenium Standalone Server的guava

时间:2017-09-06 05:32:42

标签: java eclipse selenium guava

我在Selenium有一个工作代码。 更新Geckodriver和Selenium Standalone Server后,Webdriver wait.until()功能不再起作用。 因此,在使用谷歌后,我注意到我还必须将番石榴更新到版本23。 在eclipse中,我将这个番石榴版本导入到项目中,但该功能仍然无法使用。 有没有人已经遇到过这个问题或者知道解决方案?

最好的问候

编辑:

这是ErrorMessage:

  

直到(Function)类型的方法   FluentWait不适用于参数   (谓词)

但我实际上并没有使用FluentWait。我使用WebDriverWait

void waitForPageLoad(double d){
    WebDriverWait wait = new WebDriverWait(this.driver, 10);

    Predicate<WebDriver> pageLoaded = new Predicate<WebDriver>(){
        @Override
        public boolean apply(WebDriver input){
            return ((JavascriptExecutor) input).executeScript("return document.readyState").equals("complete");
        }
    };
    try {
        Thread.sleep((long) (d*1000));
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    wait.until(pageLoaded);
}

1 个答案:

答案 0 :(得分:0)

void waitForPageLoad(double d){
        try {
            Thread.sleep((long) (d*1000));
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        new WebDriverWait(this.driver, (long) (10000)).until(driver -> 
                ((JavascriptExecutor) driver).executeScript("return document.readyState").equals("complete"));
    }

我找到了这个解决方案并且它正在运行。因此不再需要手动更新Guava。他们只是在他们的框架中改变了一些东西