我遇到了与本主题中发布的相同的问题: HTMLUnit doesn't wait for Javascript 该解决方案部分有帮助(使用BrowserVersion.FIREFOX_24),因为以前的页面甚至没有正确显示,至少现在是这样,但是我被困在...正在加载...消息,我在浏览器中检查了该消息并占用了它到 10 秒即可显示结果。 然后我尝试使用那里发布的其他代码,所以我的看起来非常像这样:
HtmlPage htmlPage = null;
try {
htmlPage = submit.click();
int i = webClient.waitForBackgroundJavaScript(1000);
while (i > 0)
{
i = webClient.waitForBackgroundJavaScript(1000);
System.out.println(i);
if (i == 0)
{
break;
}
synchronized (htmlPage)
{
System.out.println("wait");
try {
htmlPage.wait(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
通过单击,我将提交表单。有任何想法吗?我是 HtmlUnit 的新手,所以请宽容一些。 非常感谢!
最佳答案
我认为你把这个问题过于复杂化了。此外,我也不建议使用 waitForBackgroundJavaScript
方法。此外,HTMLUnit API 本身并不推荐这样做。
我在这个问题中解释了一种更好、更简单的 AJAX 工作方式:
Get the changed HTML content after it's updated by Javascript? (htmlunit)
关于java - HTMLUnit 不会等待 Javascript 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22859375/