2011-10-27 19 views
5

No he encontrado una sugerencia clara y obvia para emular el botón "Atrás" del navegador en HtmlUnit. ¿Has hecho esto? ¿Si es así, cómo?¿Cómo se emula el botón Atrás del navegador en HtmlUnit?

Lo mejor que he llegado con es ejecutar javascript en la página actual:

ScriptResult result = currentPage.executeJavaScript("javascript:window.history.back();"); 
currentPage = (HtmlPage)result.getNewPage(); 

¿Hay un método sugerido para retroceder una página en la historia con HtmlUnit? ¿Cuáles son las implicaciones de volver con el código anterior? Si bien no me he convencido a mí mismo de que HtmlUnit haga una emulación precisa de la interpretación de JavaScript de diferentes navegadores, ¿hasta qué punto llego a utilizar la capacidad total de HtmlUnit para emular el botón Atrás de un navegador utilizando el código anterior? ¿Hay alguna manera de obtener una mejor emulación del botón de retroceso de un navegador que esta?

Además, he notado la clase de Historia en HtmlUnit, pero parece bastante inútil. ¿Pensamientos?

Respuesta

2

Probablemente estoy un poco tarde, pero esto podría ser útil para otros también. Usted puede ir atrás en la historia mediante el acceso a la historia de la WebWindow así:

webClient.getWebWindows().get(0).getHistory().back(); 

Hay otros métodos útiles también. Puede echar un vistazo a la API here.

+0

Al hacer esto, se devuelve un objeto "Historial". ¿Cómo podríamos devolver la página anterior en su lugar? – Ctech45

Cuestiones relacionadas