Passage de Variables à une page web avec script JQuery

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
liroux38
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mar. 29 mars 2016 13:02
Localisation : Grenoble
Status : Hors ligne

Passage de Variables à une page web avec script JQuery

#1

Message par liroux38 »

Bonjour,

Je crée un petit outil tout simple qui, lancé depuis le bureau de windows, récupère le @UserName, ouvre la page d'accueil d"un site dans IE, et lui passe le @USrName comme login, il y a un mot de passe et un bouton d'envoi.

Je rencontre le soucis suivant : la passation des valeurs @UserName, et mot de passe. En effet, cette page d'accueil ouvre une page 'secondaire' en php, qui, elle, contient une requête en JQuery...

SI quelqu'un a une piste, une idée, voire même une solution ;-)
Merci de votre aide.
Par et pour le libre
Avatar du membre
cbourree
Niveau 5
Niveau 5
Messages : 104
Enregistré le : sam. 05 févr. 2011 18:07
Localisation : Lyon
Status : Hors ligne

Re: Passage de Variables à une page web avec script JQuery

#2

Message par cbourree »

Euh... Je ne voie pas en quoi cela peut te gêner alors peux-tu nous montrer ton code ? Nous donner un lien vers le site en question ?
As-tu regardé au niveau des fonctions pour gérer les formulaire sous IE ? _IEFormSubmit par exemple ?
liroux38
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mar. 29 mars 2016 13:02
Localisation : Grenoble
Status : Hors ligne

Re: Passage de Variables à une page web avec script JQuery

#3

Message par liroux38 »

Je complète :

$oIE = _IECreate($HOST)
$oForm = _IEFormGetObjByName($oIE, "LoginForm")

$oInputFile_L = _IEFormElementGetObjByName($oForm, "Login")
_IEFormElementSetValue($oInputFile_L,$Nom)

$oInputFile_P = _IEFormElementGetObjByName($oForm, "password")
_IEFormElementSetValue($oInputFile_P,$MotDePasse)

$oInputFile_S = _IEFormElementGetObjByName($oForm, "save")

_IEAction( $oInputFile_S,"click")

_IELoadWait($oIE)

Voila ce que je suis arrivé à produire : la page web s'ouvre mais les variables ne sont pas 'toujours' passées au formulaire.
Les variables $Nom et $MotDePasse sont définies avec @UserName et la Variable $HOST avec l'url que j'ai besoin d'atteindre.
Cela va beaucoup mieux mais ne fonctionne pas...
Merci de votre aide.
Par et pour le libre
koan2016
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 20 avr. 2016 21:14
Status : Hors ligne

Re: Passage de Variables à une page web avec script JQuery

#4

Message par koan2016 »

Bonsoir,

Je ne suis pas spécialiste (Il faudrait que je m'exerce longtemps avec Autoit), mais j'effectuerai dans ce cas quelques tests, en espérant que ma contribution puisse vous aider :

1 - N'est-ce pas un problème de vitesse, avez-vous vérifié visuellement que les champs se remplissent bien ?
2 - Le bouton d'envoi est bien une balise <input> ou <button> ?
3 - L'attribut de nom "save" n'est présent qu'une seule fois et votre script sélectionne la bonne balise ?
4 - Avez-vous tenté de remplacer le script que lance le bouton "save" par un simple "alert("test")" ? [F12 outils de développements en tentant de capturer la page en cours - (WinGetTitle("[ACTIVE]"))] - puis continuer votre script normalement.
5 - Avez-vous tenté de simuler le click à l'aide de javascript ? : [je n'ai pas vérifié la véracité du lien : http://stackoverflow.com/questions/2705 ... javascript ]
6 - Peut-être est-il toujours possible d'appeler la fonction appelée par le bouton plutôt que de simuler un click en appelant le code javascript ? ($oIE.document.parentWindow.execScript("javascript:code javascript a mettre ici"))
7 - Voici un lien ou il fut question de problèmes de droits : http://www.autoitscript.fr/forum/viewtopic.php?t=13282
8 - Voici un autre lien, peut-être peut-il vous aider ? http://www.autoitscript.fr/forum/viewtopic.php?t=11775
9 - J'ai aussi vu une fois un problème d'une fonction de click d'une des versions de IE.au3, mais je ne me souviens plus où ?

En espérant vous donner quelques pistes.

Cordialement
koan2016
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 20 avr. 2016 21:14
Status : Hors ligne

Re: Passage de Variables à une page web avec script JQuery

#5

Message par koan2016 »

Une autre possibilité pourrait être d'espionner les données envoyées par "POST" (Très probablement) et tenter de les reproduire (Mais là, je ne suis pas assez calé pour vous expliquer la démarche à suivre.)
liroux38
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mar. 29 mars 2016 13:02
Localisation : Grenoble
Status : Hors ligne

Re: Passage de Variables à une page web avec script JQuery

#6

Message par liroux38 »

Bonjour,
Merci pour votre aide...
Voici la solution 'trouvée' qui me satisfait en partie car celle-ci transmets bien les saisies mais je trouve cette solution 'sale' :

$oIE = _IECreate($HOST)
$oForm = _IEFormGetObjByName($oIE, "LoginForm")

$oInputFile_L = _IEFormElementGetObjByName($oForm, "Login")
;_IEFormElementSetValue($oInputFile_L,$Nom)
Send($Nom & @TAB)

$oInputFile_P = _IEFormElementGetObjByName($oForm, "password")
;_IEFormElementSetValue($oInputFile_P,$MotDePasse)
Send($MotDePasse & @CR)

$oInputFile_S = _IEFormElementGetObjByName($oForm, "save")
_IEAction( $oInputFile_S,"click")

Pourquoi sale ? tout simplement parce qu'on utilise et définit des objets sans, je trouve, les utiliser convenablement : en effet, avec l'instruction send, tu simules, si j'ai bien compris, une saisie au clavier, d’où la présence en fin du @TAB pour passer au champs suivant.
Je me suis donc dis : puisque le send fonctionne sans nom de champs, la définition des objets $oInputFile_L et $oInputFile_P ne servent donc à rien et j'ai donc commenté ces lignes... Et cela ne fonctionne plus !!!
Voila pourquoi je trouve cette solution 'sale'...

Cordialement.

Lionel ROUX.
Par et pour le libre
Répondre