Tengo una página basada en GWT que me gustaría crear una instantánea HTML para ello utilizando HtmlUnit. La página carga información de Ajax/JavaScript en un producto, por lo que durante aproximadamente 1 segundo hay un mensaje Cargando ... y luego aparece el contenido.HTMLUnit no espera para Javascript
El problema es que HtmlUnit no parece capturar la información y todo lo que obtengo es el tramo "Cargando ...".
A continuación se muestra un código experimental con HtmlUnit en el que intento darle tiempo suficiente para esperar la carga de los datos, pero no parece cambiar nada y aún no puedo capturar los datos cargados por el Javascript de 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());
¿Alguna idea ...?
Tengo que comentar este. Tenía el mismo problema e intentaba depurar todo el código. Muchas gracias por esto. –
Hola. Tengo el mismo problema, el uso de FIREFOX a pesar de IE hace que las páginas se carguen casi correctamente ahora, pero aún estoy atascado en ... Cargando ...mensaje, debería ser alrededor de 9 segundos, utilizó su parte de código y nada :(por favor ayuda – silvestrairwave
¡Gracias! He perdido varias HORAS en la depuración hasta que encontré su comentario! – kotslon