2016-08-18 113 views
0

使用selenium driver,我需要知道頁面何時完成加載。如何知道何時完成加載頁面?

當您導航到新頁面時,selenium會執行此操作。但是,我點擊了一個按鈕,我需要知道下一頁何時加載。

有沒有辦法像wait_for_loading_complete這樣做?

回答

0

我不認爲硒具有檢查頁面加載的內置解決方案。 但我們可以建立一個方法來驗證相同的。一些例子如下,但根據具體情況可能有更多。

1:

public void waitUntilPageLoaded(long timeoutSeconds) { 
    WebDriverWait wait = new WebDriverWait(driver, timeoutSeconds); 
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//body"))); 
} 

第二:

public void waitUntilPageLoaded(long timeoutSeconds) {  

     ExpectedCondition<Boolean> pageLoadFinishedCondition = new ExpectedCondition<Boolean>() { 
        public Boolean apply(WebDriver driver) { 
         return ((JavascriptExecutor) driver).executeScript(
           "return document.readyState").equals("complete"); 
        } 
       }; 
       WebDriverWait wait = new WebDriverWait(driver, timeoutSeconds); 
       wait.until(pageLoadFinishedCondition); 
} 

3:

public void waitUntilPageLoaded(int timeoutSeconds, By locator) { 
     new WebDriverWait(driver, timeoutSeconds).until(ExpectedConditions.presenceOfElementLocated(locator)); 
    } 
+0

對不起,我用Java實現,但應該很容易將它們轉換爲C# –

相關問題