2017-09-06 52 views
0

我在Selenium有一个工作代码。 更新Geckodriver和Selenium独立服务器后,Webdriver wait.until()功能不再有效。 因此,使用谷歌后,我注意到我也必须更新番石榴版本23. 在eclipse中,我将这个番石榴版本导入到项目中,但该功能仍然不可用。 有没有人已经有这个问题的经验或知道解决方案?如何更新硒独立服务器的番石榴

此致

编辑:

这是的ErrorMessage:

在类型 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); 
} 
+0

btw我将guava作为库导入到Java构建路径中 – phenixclaw

+0

您指的是什么类? – Zilvinas

+0

这个类应该是FluentWait.java我认为 – phenixclaw

回答

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。他们只是在他们的框架中改变了一些东西