我正在寻找一种向下滚动到在滚动时加载内容的页面的方法,以便在我开始使用 Selenium 与其交互之前加载所有内容。
我发现下面这段代码是针对 C# 发布的,我将其更改为 Java。它编译并运行。但是即使页面到达末尾,也没有跳出循环
Boolean readyStateComplete = false;
while (!readyStateComplete)
{
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("window.scrollTo(0, document.body.offsetHeight)");
readyStateComplete = (String) executor.executeScript("return document.readyState") == "complete";
}
我不太了解 Javascript。如何纠正?
最佳答案
请尝试使用 .equals()
方法代替 ==
我的意思是
readyStateComplete = ((String) executor.executeScript("return document.readyState")).equals("complete");
== tests for reference equality (whether they are the same object).
.equals() tests for value equality (whether they are logically "equal").
关于javascript - 在 Selenium 中正确使用 document.readyState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36932372/