简介
确定 Selenium 中网页是否已完全加载对于可靠的网络导航和数据检索至关重要。虽然通常使用特定元素可见性检查,但需要通用解决方案。
问题
我正在尝试确定网页是否在 Selenium 中完全加载,确保所有控件和内容都存在。然而,使用 WebDriverWait 检查“document.readyState”的方法似乎并不能一致地工作。 Selenium 中是否有通用函数可以检查页面是否已完成加载?
回答
不,Selenium 中没有专用的通用函数直接检查页面是否已完全加载。
页面加载策略
一种方法是使用 DesiredCapativity 或 ChromeOptions 将“pageLoadStrategy”设置为“正常”。此策略会一直等到浏览器客户端收到等于“完成”的“document.readyState”。但是,这并不能保证所有 JavaScript 和 Ajax 调用都完成。
Ajax 完成
为了解决这一问题,可以创建一个自定义函数来等待 Ajax完成,检查 'jQuery.active' 是否等于 0。
预期条件
更可靠的方法是将 WebDriverWait 与 ExpectedConditions 结合使用。这允许您等待满足特定条件,例如特定元素的可见性或特定标题的存在。
元素可见性
如果您需要确保特定元素在继续之前可见,请使用 ExpectedConditions.visibilityOfElementLocated() 等待该元素变为可见。
参考文献
以上是是否有通用的 Selenium 函数可以可靠地检查网页加载状态?的详细内容。更多信息请关注PHP中文网其他相关文章!