HTMLUnit не ждет Javascript 2

У меня та же проблема, что и в этой теме: HTMLUnit не ждет 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, поэтому будьте снисходительны. Большое спасибо!


person silvestrairwave    schedule 04.04.2014    source источник


Ответы (1)


Я думаю, вы слишком усложняете это. Кроме того, я бы не рекомендовал использовать метод waitForBackgroundJavaScript. Более того, сам HTMLUnit API не рекомендует это делать.

В этом вопросе я объяснил лучший и более простой способ работы с AJAX:

Получить измененный HTML-контент после его обновления с помощью Javascript ? (htmlединица)

person Mosty Mostacho    schedule 04.04.2014