HTMLUnit不等待Javascript 2

时间:2014-04-04 09:52:21

标签: java ajax htmlunit

我遇到与本主题中发布的问题相同的问题: 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,所以请宽容。 非常感谢你!

1 个答案:

答案 0 :(得分:1)

我认为你过度复杂了。另外,我也不建议使用waitForBackgroundJavaScript方法。此外,HTMLUnit API本身并不推荐它。

我已经在这个问题中解释了使用AJAX的更好,更简单的方法:

Get the changed HTML content after it's updated by Javascript? (htmlunit)