[R] Remplir un formulaire avec l'UDF FF.au3

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
CDBarbu
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 28 janv. 2015 22:18
Status : Hors ligne

[R] Remplir un formulaire avec l'UDF FF.au3

#1

Message par CDBarbu »

Bonjour,

Je suis actuellement en train d'essayer de développer un programme qui me permet d'ouvrir une nomenclature que je récupère sur un site internet dans une popup sous Windows.

Après quelques recherches j'ai trouvé l'UDF FF.au3 couplé avec MozRepl qui a l'air de tout à fait correspondre à ce que je veux faire.
Mais je bloque dès le départ, en effet pour accéder au site qui contient les nomenclatures je dois me connecter à l'aide d'un identifiant et d'une mot de passe.

J'ai donc tester la fonction _FF_AutoLogin() mais sans succès, peut-être que le formulaire pour se connecter n'est pas "standard" ?

_FF_AutoLogin() :
► Afficher le texte
Mon code :

Code : Tout sélectionner

#include <FF.au3>

$url = "http://xxx.com"
$identifiant = "monIdentifiant"
$mdp = "monMdp"

_FFStart($url)
_FFConnect()
_FFLoadWait()
_FF_AutoLogin($identifiant,$mdp,$url)

 Exit
Et voilà ce que j'obtiens dans la console, on dirait que tout se passe bien sauf les 2 dernières étapes :
► Afficher le texte
J'ai donc essayer autre chose :
Je me suis dis que le formulaire de connexion n'était peut-être pas standard, j'ai donc regardé le code source de la page et j'ai vu ça :

Code : Tout sélectionner

<input type="text" value="" size=14" maxlength="255" name="userName"></input>
<input type="password" value="" size=14" maxlength="255" name="password"></input>
J'ai donc essayer d'utiliser la fonction _FFCmd() pour directement exécuter du javascript sur la page en faisant :

Code : Tout sélectionner

_FFCmd(".getElementsByName(""userName"").value = ""monIdentifiant""")
Et la console me renvoie ça, mais rien n'apparait dans le champs identifiant sur la page web :
__FFSend: try{window.content.top.document.getElementsByName("userName").value = "monIdentifiant"}catch(e){'_FFCmd_Err';};
__FFRecv: monIdentifiant
Je ne m'y connait quasiment pas en javascript et c'est la première fois que j'utilise cette UDF donc peut-être que je suis passé à coté de quelque chose, j'ai beau cherché je ne trouve pas ce qui ne va pas.

Merci d'avance pour votre aide !
Modifié en dernier par CDBarbu le jeu. 29 janv. 2015 15:45, modifié 1 fois.
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

Re: [..] Remplir un formulaire avec l'UDF FF.au3

#2

Message par Y01 »

Bonjour,

Est ce que ceci fonctionne ?

Code : Tout sélectionner

http://$identifiant:$password@site.com
Y01
Avatar du membre
CDBarbu
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 28 janv. 2015 22:18
Status : Hors ligne

Re: [..] Remplir un formulaire avec l'UDF FF.au3

#3

Message par CDBarbu »

Non ça ne fonctionne pas, Firefox me dit que ce site ne demande pas une authentification, et puis j'arrive sur la page de login habituelle.
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

Re: [..] Remplir un formulaire avec l'UDF FF.au3

#4

Message par Y01 »

Quelle version de Firefox ?

Je viens de tester sur FF 35 et je n'ai pas eu de message d'erreur en voulant me connecter sur un site sans identifications.
Y01
Avatar du membre
CDBarbu
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 28 janv. 2015 22:18
Status : Hors ligne

Re: [..] Remplir un formulaire avec l'UDF FF.au3

#5

Message par CDBarbu »

J'ai la 35 aussi, mais ce n'est pas un message d'erreur c'est plus une notification en fait. Pour demander si c'est bien moi qui suit à l'origine de cette "demande", et si je veux continuer ou non.
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

Re: [..] Remplir un formulaire avec l'UDF FF.au3

#6

Message par Y01 »

Malheureusement, n'utilisant pas l'UDF FF, je ne pourrais pas aller plus loin dans les investigations :?
Y01
Avatar du membre
CDBarbu
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 28 janv. 2015 22:18
Status : Hors ligne

Re: [..] Remplir un formulaire avec l'UDF FF.au3

#7

Message par CDBarbu »

Merci d'avoir essayé :)

Et j'ai enfin trouvé après des heures de recherche et pour finir la solution était sur le forum... et c'est pourtant pas faute d'avoir cherché, j'ai trouvé sur ce topic

Il faut utiliser la fonction "_FFSetValueByName" de l'UDF FF.au3 mais le truc c'est qu'elle n'y est pas dans celui que j'ai téléchargé sur le topic officiel. Et elle n'est pas référencée dans sa documentation non plus.
J'ai fini par la trouver sur le site de l'auteur de l'UDF (il me semble), où il y a un complément qui s'appelle FFEx.au3 et qui lui contient les fonctions que je cherche depuis des heures.

Donc mon code fonctionnel :

Code : Tout sélectionner

#include <FF.au3>

$url = "http://xxx.com"
$identifiant = "monIdentifiant"
$mdp = "monMdp"

_FFStart($url)
_FFConnect()
_FFLoadWait()
_FFSetValueByName("userName",$identifiant)
_FFSetValueByName("password",$mdp)
Le sujet est donc résolu :wink:
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

Re: [R] Remplir un formulaire avec l'UDF FF.au3

#8

Message par Y01 »

Félicitations et merci d'avoir partagé la solution !
Y01
Répondre