2016-11-11 9 views
0

ページの読み込みに時間がかかるため、しばらくお待ちください。私は暗黙のうちに待つ必要があります。それはどのようにセレンのwebdriver Javaを使用して行うことができますか?selenium webdriverを使用してページがロードされたら、いつか待つ方法はありますか?

+0

可能な重複:([セレンC#のwebdriverを要素が存在するまで待つ] http://stackoverflow.com/questions/6992993/selenium-c-sharp -webdriver-wait-until-element-is-present) –

答えて

0

これを試してください。

WebDriver driver = new FirefoxDriver(); 
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
driver.get("http://www.google.com"); 
0

暗黙的に読み込まれるページを待つドライバを設定します。

暗黙的な待機とは、WebDriverに、すぐに利用可能でない要素を見つけようとすると、特定の時間、DOMをポーリングするように指示することです。既定の設定は0です。設定されると、暗黙の待機がWebDriverオブジェクトインスタンスの有効期間に設定されます。

WebDriver driver = new FirefoxDriver(); 
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //makes driver object to wait for 10 seconds to wait implicitly 
driver.get("http://somedomain/url_that_delays_loading"); 

ExplicitConditionを定義して、特定のイベントが発生してページのロードを確認するのを待つことができます。

WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("someid"))); // give an element locator, such a way that you can confirm that visibility of that elements represents the complete loading of the page. 

これはTimeoutExceptionをスローする前に10秒まで待つか、それが見つかった場合、要素は0で、それを返します - 10秒。 WebDriverWaitは、デフォルトで正常に返されるまで500ミリ秒ごとにExpectedConditionを呼び出します。 ExpectedCondition関数型の正常な戻り値は、ブール値trueまたは非nullオブジェクトです。

注:設定のタイムアウトは、要件ごとのように(例では10秒です)。

参考:

  1. http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp
関連する問題