2010-11-23 25 views
20

He estado investigando acerca de los navegadores sin cabeza disponibles hasta la fecha y he encontrado que HtmlUnit se usa bastante extensamente. ¿Tenemos alguna alternativa a HtmlUnit con una posible ventaja en comparación con HtmlUnit?Alternativa a HtmlUnit

Gracias Nayn

Respuesta

3

voy a utilizar selenio para mi caso de uso, ya que me ofrece de utilizar el navegador real y ninguna desviación de lo que representaría en el mundo real en comparación con HtmlUnit. Estoy planeando usar Selenium2, que tiene integración con WebDriver y ofrece una excelente API y excelentes arreglos. Gracias Nayn

+2

esto es lo que yo recomendaría también. El motor de JavaScript de htmlunit parece fallar, mucho, en sitios del mundo real. – Joel

+1

El selenio está bien ... a menos que desee trabaje con, por ejemplo, componentes de JavaScript SmartGWT ... o a menos que desee implementarlo en un entorno de integración continua en un período de tiempo razonable ... o si desea ejecutar pruebas de resistencia sin un clúster de 500 CPU como corredor de prueba, etc. –

+0

Entonces, ¿cuál es la alternativa de htmlunitdriver? Bcoz varios web requerían que el javascript estuviera trabajando completamente ... :( – gumuruh

7

Por lo que yo sé, HtmlUnit` es el más potente navegador sin cabeza.

¿Cuáles son sus problemas con él?

+3

Hay dos características de HtmlUnit para mí: 1. es o/s independiente 2. no utiliza el navegador "real" como un back-end. Como resultado, hay configuración cero y no hay sorpresas en la implementación de la aplicación. Y lo hace bastante bien. –

+0

Problemas con HtmlUnit: http://sourceforge.net/tracker/?group_id=47038&atid=448266 – Nayn

+3

El problema principal es que a veces hace que las páginas web sean diferentes de como podría verse en un navegador real. También altera la estructura de la página/etiqueta. También quiero ejecutar javascript que tiene algunos problemas con HtmlUnit – Nayn

4

WebDriver con un framebuffer virtual es la única alternativa real. La ventaja es que usa un navegador real; la desventaja es que es más difícil de configurar y la API es mucho más pobre.

+0

http: //coreygoldberg.blogspot. com/2011/06/python-headless-selenium-webdriver.html –

2

También recomendaría Selenium. La gran característica es que puede crear un cliente que abra una página del navegador para que pueda ver lo que sucede en cada paso. Además, la creación de macros para pruebas automatizadas es otra buena característica. Sin embargo, si necesita eliminar algo de información de la página web, HtmlUnit es mejor que el selenio.

+0

usó esto ya – Nayn

5

Hay muchas otras bibliotecas que puede utilizar para esto.

  • Si necesita raspar datos de base xml use JTidy.
  • Si necesita raspar datos específicos de HTML puede usar Jsoup.

Bueno, yo uso jsoup, es mucho más rápido que cualquier otra API.

+3

Jsoup es genial pero supongo que no puede c rawl un sitio basado en solicitudes AJAX. Si se trata de hacer clic en los elementos y esperar a que aparezca otro código html y evaluarlo, en mi humilde opinión no es una alternativa. – frandevel