我遇到与本主题中发布的问题相同的问题: 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,所以请宽容。 非常感谢你!
答案 0 :(得分:1)
我认为你过度复杂了。另外,我也不建议使用waitForBackgroundJavaScript
方法。此外,HTMLUnit API本身并不推荐它。
我已经在这个问题中解释了使用AJAX的更好,更简单的方法:
Get the changed HTML content after it's updated by Javascript? (htmlunit)