17
Selenium WebDriver:等待带有JavaScript的复杂页面加载
我有一个Web应用程序可以使用Selenium进行测试。页面加载时运行着许多JavaScript。 该JavaScript代码编写得不太好,但是我什么也不能更改。因此,使用findElement()方法等待元素出现在DOM 中不是一个选择。 我想在Java中创建一个通用函数以等待页面加载,可能的解决方案是: 运行JavaScript脚本WebDriver并将结果存储document.body.innerHTML在字符串变量中body。 将body变量与的早期版本进行比较body。如果它们相同,则设置递增计数器,notChangedCount否则设置notChangedCount为零。 等待一小段时间(例如50毫秒)。 如果页面有一段时间没有变化(例如500毫秒),notChangedCount >= 10则退出循环,否则循环至第一步。 您认为这是有效的解决方案吗?