2017-09-06 7 views
0

私はSeleniumで動作するコードを持っていました。 GeckodriverとSelenium Standalone Serverをアップデートした後、Webdriver wait.until()機能がもう動作しませんでした。 グーバをバージョン23にアップデートする必要があることに気がつきました。 eclipseでこのグアババージョンをプロジェクトにインポートしましたが、機能はまだ使用できません。 誰もが既にこの問題を経験しているか解決策を知っていますか?guavaをSelenium Standalone Server用に更新するには

よろしく

編集:

タイプ 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ビルドパスにライブラリとしてguavaをインポートしました – 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を手動で更新する必要はもうありません。彼らは単にフレームワークで何かを変更しました

関連する問題