У меня есть страница на основе GWT, для которой я хотел бы создать снимок HTML для нее с помощью HtmlUnit.
Страница загружается с использованием информации Ajax / JavaScript о продукте, поэтому в течение примерно 1 секунды появляется сообщение «Загрузка ...», а затем отображается содержимое.
Проблема в том, что HtmlUnit, похоже, не собирает информацию, и все, что я получаю, это диапазон "Загрузка ...".
Ниже приведен экспериментальный код с HtmlUnit, где я пытаюсь дать ему достаточно времени, чтобы дождаться загрузки данных, но, похоже, он ничего не меняет, и я все еще не могу захватить данные, загруженные JavaScript GWT.
WebClient webClient = new WebClient();
webClient.setJavaScriptEnabled(true);
webClient.setThrowExceptionOnScriptError(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
WebRequest request = new WebRequest(new URL("<my_url>"));
HtmlPage page = webClient.getPage(request);
int i = webClient.waitForBackgroundJavaScript(1000);
while (i > 0)
{
i = webClient.waitForBackgroundJavaScript(1000);
if (i == 0)
{
break;
}
synchronized (page)
{
System.out.println("wait");
page.wait(500);
}
}
webClient.getAjaxController().processSynchron(page, request, false);
System.out.println(page.asXml());
Есть идеи ...?