HtmlUnit
# HtmlUnit

HtmlUnit es un navegador web sin interfaz de usuario escrito en Java. Permite la manipulación de alto nivel de sitios web a partir de otro código Java, incluyendo el llenado y envío de formularios y el hacer click en hiperenlaces. También proporciona acceso a la estructura y los detalles de las páginas web recibidas. HtmlUnit emula el comportamiento de las partes del navegador, incluyendo los aspectos de bajo nivel de los protocolos TCP/IP y HTTP. Una secuencia como getPage(url), getLinkWith("Click here"), click permite al usuario navegar a través de hipertexto y obtener páginas web, incluyendo HTML, JavaScript, AJAX y cookies. También hay HtmlPage.getFrames, pero hay problema con el método settimeout. Este navegador sin cabeza puede tratar con seguridad HTTPS, autenticación HTTP básica, la redirección automática de páginas y otras cabeceras HTTP. Permite al código Java de testeo (probador) examinar las páginas devueltas en forma de texto, un DOM XML, o como colecciones de formularios, tablas y enlaces.

El uso más común de HtmlUnit es la automación de pruebas de páginas web, pero a veces se puede utilizar para web scraping (extracción de datos web, literalmente, "raspado web") o descarga de contenido del sitio web.

La versión 2.0 incluye muchas mejoras nuevas, como una puesta en práctica de las características de la implementación W3C DOM Java 5, un mejor soporte XPath, y un mejor manejo de HTML incorrecto, además de diversas mejoras en JavaScript, mientras que la versión 2.1 se centra principalmente en afinar algunos problemas de rendimiento reportados por los usuarios.

