Existe-t-il de bons outils en plus de SeleniumRC qui peuvent récupérer des pages Web, y compris du contenu post-peint par JavaScript?

8

Un inconvénient majeur curlest 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. curlne 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?

dan
la source
Personne n'a suggéré autre chose sur Est-ce que quelqu'un ici a de l'expérience dans l'automatisation de certaines tâches dans les applications Web en utilisant curl? , mais cette question ne portait pas spécifiquement sur le raclage de Javascript.
Gilles 'SO- arrête d'être méchant'

Réponses:

2

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.

Michael Gantz
la source
2

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 ligne include 'watir-webdriver'. Je l'ai trouvé plus réactif que selenium-webdriver, mais sans l'interface graphique d'enregistrement de test pour aider à travailler sur des conditions de test complexes.

Rogue_Leader
la source