2017-05-31 65 views
0

我試圖每次在頁面上出現某個文本時拋出異常。爲了實現這一點,如果應該拋出異常或者不拋出異常,每次頁面加載完成時都應該檢查方法。我現在所面臨的主要問題是點擊和AKA,因爲點擊WebElement而打開了新頁面。Selenium:每次頁面加載時調用方法

如何在頁面加載完成後實現自定義方法總是被調用?

+0

您可以使用'document.readyState'來檢查頁面是否完全加載。 –

回答

0

這裏是回答你的問題:

當我們通過屬性pageLoadStrategy設置爲normal默認配置,這意味着,一旦頁面加載全部完成了document.readyState設置爲complete使用webdriver的是當WebDriver根據腳本執行下一個操作時。

現在,如果你想由自己確信document.readyState設置爲complete您可以用EplicitWait的幫助下你的控制檯上的一個狀態日誌執行腳本中下面的代碼塊:

IWait<IWebDriver> wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(30.00)); 
wait.Until(driver => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete")); 

讓我知道這個答案是否是您的問題。

相關問題