2017-09-06 10 views
0

나는 셀레늄에서 작동하는 코드를 가졌습니다. Geckodriver 및 Selenium Standalone Server를 업데이트 한 후 Webdriver wait.until() 기능이 더 이상 작동하지 않습니다. Google을 사용한 후에도 구아바를 버전 23으로 업데이트해야합니다. 일식에서이 구아바 버전을 프로젝트로 가져 왔지만 기능을 사용할 수 없습니다. 누구나 이미이 문제를 경험했거나 해결책을 알고 있습니까?Selenium Standalone Server 용 guava를 업데이트하는 방법

안부

편집 :

유형 FluentWait에서 (기능)까지 방법은 인수 적용되지 않습니다

(술어)

: 이것은 ErrorMessage가있다

하지만 실제로 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 라이브러리를 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를 수동으로 업데이트 할 필요가 없습니다. 그들은 프레임 워크에서 뭔가를 바 꾸었습니다.