Navigosaure.net

Automatisez votre navigation sous Firefox avec CoScripter

Publié le vendredi 7 septembre 2007 à 22:56 dans la catégorie Firefox
Tags associés : , ,

CoScripter est une extension pour Firefox développée par IBM qui permet de créer des scripts pour automatiser sa navigation Internet (désolé je n'ai pas pu faire plus clair). On peut par exemple créer un script pour trouver les billets de trains disponibles pour Paris, vérifier son compte bancaire sur Internet, etc. Voyons ça plus en détail.

L'extension se présente sous la forme d'une barre latérale divisé entre les données personnelles (en bas) et une partie au dessus qui affiche soit la liste de nos scripts et ceux de la communauté soit le script en cours d'édition soit le script en cours d'exécution. En plus de permettre de créer à la main ses scripts, CoScripter permet aussi de les créer à la volée en enregistrant nos clics et de les exporter ensuite sur le site Web officiel pour les partager avec les autres internautes !

Une vidéo montrant comment fonctionne CoScripter est disponible sur le site officiel. Dans la vidéo l'auteur automatise la recherche de maison dans Palo Alto.

En plus de l'aspect utile, CoScripter mérite que l'on y jette un œil grâce à son langage de programmation très intuitif : l'anglais. Contrairement à Greasemonkey (qui peut sûrement permettre d'atteindre le même résultat même si ce n'est pas forcément le même domaine) pas besoin de s'y connaître en Javascript pour créer ses scripts d'automatisation.

Sans plus attendre, voici un script que j'ai écrit pour chercher des billets de train en direction de Paris :

* go to "http://www.voyages-sncf.com/"
* Enter your "hometown" into the "Au départ de" textbox
* Enter "PARIS" into the "A destination de" textbox
* click the "Consulter les horaires" button

On remarquera de suite la simplicité du code ! Il suffit véritablement de savoir se débrouiller en anglais pour le comprendre. Faut-il vraiment que je vous explique ce qu'il se passe quand on exécute ce script ?

Comme vous avez pu le remarquer CoScripter est capable d'utiliser les données mises dans le cadre Personal Database en bas de la barre latérale. Ces données personnelles se remplisse de cette façon : nom de la valeur utilisable dans les scripts = valeur. Par exemple :

nom complet = Thomas Bassetto
site internet personnel = http://navigosaure.net
code postal = 76000

Il suffit ensuite de mettre le nom de la valeur entouré de guillemets après le mot your dans ses scripts pour que CoScripter pour que CoScripter utilise vos informations personelles.

Voyons comment modifier le script précédent pour indiquer au script de faire comme si on avait une Carte 12-15 SNCF (qui donne des réductions sur les voyages). N'oublions pas de rajouter dans nos données personnelles les lignes hometown = Rouen et numero carte smiles = 0025329999 (pour mon cas).

* go to "http://www.voyages-sncf.com/leisure/fr/launch/home/"
* click the "train" link
* enter your "hometown" into the "Départ" textbox
* enter "PARIS" into the "Arrivée" textbox
* turn on the "Voyage personnel"'s "Pour nous permettre de mieux répondre à vos attentes, indiquez-nous le motif de votre voyage :" radio button
* select "Jeune (12 à 25 ans)" from the "1e Passager"'s "Passager" listbox
* select "Carte 12-25" from the "1e Passager"'s "Carte commerciale" listbox
* select "Carte 12-25" from the "1e Passager"'s "Carte commerciale" listbox
* select "S'Miles Gagnez à voyager" from the "1e Passager"'s "Carte de fidelité" listbox
* enter your "numero carte smiles" into the "1e Passager"'s "N° de la carte" textbox
* click the "Rechercher maintenant" button

Ce script à d'abord été créé via CoScripter en fonction de mes clics, c'est donc lui qui s'est trouvé tout seul les noms des champs de texte tels que "1e Passager"'s "Carte commerciale"... Mis à part ça, impressionnant non ? En fait non car si vous testez ce script vous vous apercevrez qu'il plante à l'avant-dernière ligne enter your "numero carte smiles" into the "1e Passager"'s "N° de la carte" textbox. En effet ce champ de texte apparaît uniquement si un clic "humain" sélectionne la valeur S'Miles Gagnez à voyager de la liste déroulante précédente. Maudit soit le site de la SNCF ! Espérons que les prochaines versions de CoScripter puissent mieux émuler nos clics. Rien ne vous empêche cependant de tester ce script pour voir le déroulement des premières étapes !

J'ai essayé de faire un autre script pour me connecter automatiquement sur le site de loterie en ligne lotree.com, puis jouer mes numéros favoris mais je n'ai pas encore réussi à le terminer car au moment où apparaît la grille, Firefox rame énormément. Je ne sais pas si la faute provient du site ou de l'extension mais je vous livre quand même le début du script car il fait appel à un nouvel élément :

* go to "lotree.com"
* enter your "pseudo lotree" into the first textbox
* enter your "mot de passe lotree" into the second textbox
* turn on the "Mémoriser mes identifiants" checkbox
* click the "go" button
* click the "Sélectionner toutes les newsletters" button

Le site étant mal codé le seul moyen de pouvoir bien remplir le formulaire de connexion est d'utiliser les mot-clés first et second. En effet CoScripter peut aussi compter le nombre de champ de texte (mais je ne sais pas si il se base sur l'ordre visuel ou l'ordre du code source, à mon avis le dernier).

Pour finir, quelques remarques :

Pour finir je vous propose un dernier script commenté, basé sur la démo officielle :

Après avoir ouvert ce script dans la barre latérale de CoScripter, la première action ci-dessous sera surlignée en vert. Appuyez sur le bouton "Step" pour passer à l'action suivante.

* go to "www.google.com"

La page d'accueil de google est maintenant affichée dans l'onglet actif de Firefox. La prochaine action indique à CoScripter de cliquer sur le lien 'Images". Lors du clic le lien sera aussi surligné en vert. Cliquez sur "Step" pour continuer.

* click the "Images" link

La prochaine action consiste à ajouter du texte dans le champ de recherche. Le texte n'est pas entré tant que l'on indique pas à CoScripter d'exécuter l'action suivante. Lors de l'ajout du texte, il sera surlignée en vert. Appuyez sur le bouton "Run" pour exécuter à la suite toutes les actions qu'ils restent à faire.

* enter "firefox" into the "Search Images" textbox

* click the "Search Images" button

* you click on an image to view (read the text below)

Vous remarquerez que CoScripter s'est arrêté à la dernière étape qui apparaît maintenant de couleur rouge. C'est le mot you qui indique à CoScripter que c'est à l'utilisateur d'effectuer ladite action et non à lui. Après l'avoir faite il ne vous reste plus qu'à cliquer sur le bouton "Run" (à condition qu'il reste quelquechose à exécuter).

Billets sur le même sujet

On en parle ailleurs :

Aucun trackback.

Les trackbacks pour ce billet sont fermés.

Commentaires / Ajoutez le votre

nico@nc

Ça a l'air génial ce truc ! J'essaie dès que j'en ai le temps...

(
il me faudrait quelque chose comme :
* go to "www.geckozone.org/forum"
* go to new topics
* click the "Répondre" link
* answer to the topic
* click the "Poster" button.

...comment ça l'IA n'est pas livrée avec ?!?
)

Thomas

Lol c'est vrai que ce serait tellement génial que ça puisse avoir une IA développée :p

eolhyte

Mais qu'est que tu dis, ce logiciel est libre, sous MPL!

Thomas

Je l'ai lu sur Labs.mozilla.com : labs.mozilla.com/2007/09/...

Mis à part ça je n'ai pas vu la licence ailleurs ou alors je n'ai pas fait assez attention ! Où as-tu vu que c'était sous MPL ?

eolhyte

Lors du téléchargement, y'a la license MPL à accepter

Thomas

En effet, j'ai corrigé mon billet. Merci !

giz404

Ca a l'air vraiment pas mal, mais j'ai l'impression que ça peut rapidement être détourné en tant que "moteur de spam" amateur ... En effet, on automatise toute la chaine de remplissage de formulaire.
Bon ok, je suis peut-être parano.

Thomas

Je pense que les spammeurs, même amateurs n'ont pas besoin d'un tel outil pour faire leur vil job :)

Ajouter un commentaire