|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||||||||||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2009 Messages : 18 ![]() |
La MSA (mutalité sociale agricole) a mis en place un service en ligne pour déclarer les salariés.
Pour chaque salarié il y a 4 formulaires à remplir. Si vous avez 10 vendangeurs vous y passé la nuit. J'ai cherché un truc pour automatiser tout cela. Au début j'ai pensé à Perl avec WWW::Mechanize ou LWP, mais ça marche pas avec HTTPS et Javascript sous Linux. De plus avant d'envoyer le formulaire je veux le vérifier. Et la je suis tombé sur MozRepl . C'est une extention Firefox qui permet de controler le navigateur en lui envoyant du code Javascrit par le port 4242 avec un client type telnet ou netcat. Il existe bien sur un module Perl qui utilise cette extension WWW::Mechanize::Firefox. Mais je le trouve incomplet. Pour remplir des formulaires il manque des fonctions pour les TextArea ou les SelectList. Du moins j'y suis pas arrivé, et Perl j'aime pas trop. Par chance il existe Fresno Citation:
C'est un script shell qui utilise Expect et Telnet. Mais j'arrive pas à lui faire exécuter du code Javascript contenue dans un fichier. Dans le script suivant, je crée un fichier /tmp/test.js, que je fait exécuter sucessivement par ma fonction moz_script et fresno. Code :
Et voila ce que j'obtient Code :
J'ai essayer plusieurs options mais rien n'y fait. Par contre la commande: Code :
elle marche c'est à ne rien y comprendre. Aprés tous ces echecs j'ai écrit un sript shell mozrepl.sh qui contient la fonction moz_script et toutes les fonctions pour remplir des formulaires. Le début ressemble à ça: Code :
Pour l'utiliser il suffit d'ajouter la ligne source ./mozrepl.sh dans le script. Exemple pour s'identifier sur le site MSA: Code :
Et pour remplir un formulaire: Code :
Toutes les infos sur le salarié sont dans le tableau data. Le plus dur c'est de savoir si la page demandée est bien affichée. On peut vérifier l'adresse, mais des pages différente peuvent avoir la même adresse ou on peut avoir été redirigé sur une autre page. On peut également vérifier le titre de la page. Ou la précence d'un élément de formulaire. C'est ce que fait l'instruction: Code :
while [ ! $(moz_getInput 'page') ] || [ $(moz_getInput 'page') -ne 3 ]; do sleep 1; done Et ce qui me désole le plus c'est de pas utiliser fresno et de pas comprendre pourquoi ? |
|||||||||||||
|
|
20
|
|
|
#2 | |
![]() ![]() Inscription : février 2008 Messages : 2 752 ![]() |
Bonjour,
si je résume : fresno ne fonctionne pas. alors, il faut t'adresser au mainteneur du projet pour obtenir des explications concernant ce dysfonctionnement. moi, je n'ai pas trouvé d'adresse pour le faire... ![]() Citation:
en ce qui concerne le fichier de fonctions :
|
|
|
|
20
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2009 Messages : 18 ![]() |
On peut sélectionner des lignes et ensuite leurs appliquer une subsitution de caractéres en une seule commande avec sed. Je suis pas informaticien et j'ai la mauvaise habitude de faire du copier coller sans trop réfléchir. Merci du conseil.
Code :
Ils donnent quelques exemples à la page Custom commands library. Regrouper toutes les fonctions javascript dans un seul fichier permet de factoriser le code et d'avoir un truc plus lisible que mes documents en lignes dans un script shell qui crée un fichier temporaire pour chaque fonctions. L'idée de mon post est de trouver de tel fichiers écrit par des pros du javascript et de reprendre ma sale habitude du copier coller. J'ai trouvé peu de pages sur internet sur Mozrepl. Je comprend pas pourquoi un truc aussi puissant est si peu utilisé ? Quant à un bug de fresno je suis pas sur. Il y a une histoire de contexte d'exécution dans Mozrepl que j'ai pas bien compris. De toute maniere vu l'adresse internet de fresno liée au M.I.T. C'est pas moi, pauvre viticulteur du sud de la France qui vais me permettre la moindre remarque. |
||
|
|
20
|
|
|
#4 | |
![]() ![]() Inscription : février 2008 Messages : 2 752 ![]() |
Citation:
|
|
|
|
20
|
Copyright © 2000-2013 - www.developpez.com