Una de las principales deficiencias curl
es que cada vez más páginas web tienen su contenido principal pintado por una respuesta JavaScript AJAX que ocurre después de la respuesta HTTP inicial. curl
nunca recoge este contenido post-pintado.
Por lo tanto, para obtener este tipo de páginas web desde la línea de comandos, me he visto obligado a escribir scripts en Ruby que impulsan al SeleniumRC a iniciar una instancia de Firefox y luego devolver el código fuente HTML después de que se hayan completado estas llamadas AJAX.
Sería mucho mejor tener una solución de línea de comando más ágil para este tipo de problema. ¿Alguien sabe de alguno?
Respuestas:
Hace poco comencé a usar WebDriver de Selenium 2 en Java. Hay un controlador llamado HtmlUnitDriver que es totalmente compatible con JavaScript pero no enciende un navegador real.
No es una solución ligera, pero hace el trabajo.
Diseñé el código para que se ejecute desde la línea de comandos y guarde los datos web en archivos.
fuente
¿Has considerado a Watir?
http://watir.com/
Cuando haya agregado el paquete, puede ejecutarlo como un archivo independiente o desde
irb
línea por línea despuésinclude 'watir-webdriver'
. He descubierto que responde mejorselenium-webdriver
, pero sin la GUI de grabación de prueba para ayudar a resolver condiciones de prueba complejas.fuente