java - HTMLUnit 不会等待 Javascript 2

标签 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 的新手,所以请宽容一些。 非常感谢!

最佳答案

我认为你把这个问题过于复杂化了。此外,我也不建议使用 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/

相关文章:

javascript - AJAX 原始 Javascript 基础

javascript - 在 javascript 中创建一个 html 表

java - 在 URL 中包含变量,返回错误页面

java - 使用 HTMLUnit 和 XPath 获取跨度元素列表的内容

java - 在 android 上使用 weka 库时出错(想在 Android 应用程序中实现机器学习)

java - RabbitMQ 消费者是否可以配置为仅使用同一消息的定义次数的尝试

带有 JS 的 Java 自定义标签

java - 如何配置Spring TestRestTemplate

php - 将 PHP 数组插入 MYSQL

java - 下载并使用 htmlunit 获取原始文件名?