Un inconvénient majeur curl
est que de plus en plus de pages Web voient leur contenu principal peint par une réponse JavaScript AJAX qui se produit après la réponse HTTP initiale. curl
ne reprend jamais ce contenu post-peint.
Donc, pour récupérer ces types de pages Web à partir de la ligne de commande, j'ai été réduit à écrire des scripts dans Ruby qui conduisent le SeleniumRC à lancer une instance de Firefox, puis à retourner le code HTML source une fois ces appels AJAX terminés.
Il serait préférable d'avoir une solution de ligne de commande plus légère pour ce type de problème. Quelqu'un en connaît-il?
Réponses:
J'ai récemment commencé à utiliser le WebDriver de Selenium 2 en Java. Il existe un pilote appelé HtmlUnitDriver qui prend entièrement en charge JavaScript mais ne lance pas un navigateur réel.
Ce n'est pas une solution légère, mais elle fait le travail.
J'ai conçu le code pour qu'il s'exécute à partir de la ligne de commande et enregistre les données Web dans des fichiers.
la source
Avez-vous pensé à Watir?
http://watir.com/
Une fois le package ajouté, vous pouvez l'exécuter en tant que fichier autonome ou à partir de
irb
, ligne par ligneinclude 'watir-webdriver'
. Je l'ai trouvé plus réactif queselenium-webdriver
, mais sans l'interface graphique d'enregistrement de test pour aider à travailler sur des conditions de test complexes.la source