Selenium:檢查網頁加載完成
許多開發人員努力在Selenium 中驗證網頁的完整加載,以進行無縫且準確的測試。但是,與顯式元素可見性檢查不同,沒有現成的通用函數來確定頁面載入完成。
嘗試過的程式碼
您嘗試使用以下程式碼檢查:
new WebDriverWait(firefoxDriver, pageLoadTimeout).until( webDriver -> ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));
但是,如您所觀察到的,這種方法
PageLoadStrategy
雖然pageLoadStrategy 可以設定為「正常」以確保「正常」 document.readyState”等於“完整”,但它並不是萬無一失的。 JavaScript 和 Ajax 呼叫可能仍然未完成,需要採取進一步措施。
無限期等待
等待「jQuery.active == 0」或使用 titleContains 的 WebDriverWait 等方法() 涉及無限期的等待時間。
可見元素等待
一種精細的方法是使用帶有visibilityOfElementLocated() 的WebDriverWait。這使您的程式專門等待所需元素的可見性,從而更精確地檢查其是否已完全載入。
其他參考
更多見解,請參閱這些資源:
結論
雖然Selenium 中沒有通用函數來檢查頁面載入完成情況,透過採用所討論的技術,例如PageLoadStrategy、「jQuery.active = = 0”、無限期等待,和可見元素等待,可以實現頁面載入進度的有效評估。
以上是如何在 Selenium 中可靠地檢查網頁載入完成情況?的詳細內容。更多資訊請關注PHP中文網其他相關文章!