我使用以下代码检查页面是否已加载:
JavascriptExecutor js = (JavascriptExecutor)Driver;
pageLoadStatus = js.executeScript("return document.readyState").toString();
document.readyState即使页面仍然明显加载也会返回“完成”。
答案 0 :(得分:0)
您可能会看到的是在后台工作的ajax元素。如果我需要知道的不仅仅是页面加载完毕,我还会使用以下内容:
public void waitForJQueryToBeActive() {
Boolean isJqueryUsed = (Boolean) ((JavascriptExecutor) driver)
.executeScript("return (typeof(jQuery) != 'undefined')");
if (isJqueryUsed) {
while (true) {
// JavaScript test to verify jQuery is active or not
Boolean ajaxIsComplete = (Boolean) (((JavascriptExecutor) driver)
.executeScript("return jQuery.active == 0"));
if (ajaxIsComplete)
break;
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
}
}
}