Selenium WebDriver:等待带有JavaScript的复杂页面加载
2022-08-31 09:13:54
我有一个Web应用程序用Selenium进行测试。有很多JavaScript在页面加载上运行。
这个JavaScript代码写得不是很好,但我不能改变任何东西。因此,等待元素出现在 DOM with 方法中不是一个选项。
我想在Java中创建一个泛型函数来等待页面加载,一个可能的解决方案是:findElement()
- 运行 WebDriver 中的 JavaScript 脚本,并将 的结果存储在字符串变量 中。
document.body.innerHTML
body
- 将该变量与以前版本的 进行比较。如果它们相同,则设置增量计数器,否则设置为零。
body
body
notChangedCount
notChangedCount
- 等待一个短暂的时间(例如50毫秒)。
- 如果页面在一段时间内(例如500毫秒)没有更改,那么退出循环,否则循环到第一步。
notChangedCount >= 10
你认为这是一个有效的解决方案吗?