[R] Recherche d'objets dans une page web
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
- Niveau 1
- Messages : 7
- Enregistré le : mar. 15 juil. 2008 16:47
- Localisation : Toulouse / Luchon
- Status : Hors ligne
[R] Recherche d'objets dans une page web
Bonjour,
je viens de découvrir AutoIt et je suis en train de le tester, pour voir s'il correspond à ce que je cherche ...
je dois effectuer des tests sur une application web, remplir des champs de textes mais aussi cliquer sur des boutons. Et mon but serait d'automatiser ces tests par scripts...
remplir les champs, c'est bon, j'y arrive, mais est-il possible de chercher l'emplacement d'un bouton par son nom pour y cliquer dessus ???
merci
...Milie...
je viens de découvrir AutoIt et je suis en train de le tester, pour voir s'il correspond à ce que je cherche ...
je dois effectuer des tests sur une application web, remplir des champs de textes mais aussi cliquer sur des boutons. Et mon but serait d'automatiser ces tests par scripts...
remplir les champs, c'est bon, j'y arrive, mais est-il possible de chercher l'emplacement d'un bouton par son nom pour y cliquer dessus ???
merci
...Milie...
Modifié en dernier par mimi31110 le jeu. 24 juil. 2008 11:02, modifié 3 fois.
...Milie...
Re: recherche d'objets dans une page web
La premiere chose à savoir, c'est le clic sur le bouton renvoi t'il directement sur un lien ou renvoi t'il a un code javascript
Le plus simple est que tu nous donne ton lien et ce que tu veux pour qu'on te fasse un exemple.
Dans le premier cas:
Nb: ceci est un exemple il existe des solutions multiples
Pour des explications detaillées, demande.
Dans le deuxieme cas, on ne peut pas utiliser _IEFormSubmit
IL faut donc ecrire:




Nb: ceci est un exemple il existe des solutions multiples
Code : Tout sélectionner
$oIE = _IECreate ("https://.../cgi-bin/..._login.pl?language=fr",0,0)
$oForm = _IEFormGetCollection ($oIE,0) ; Ici on cherche la premiere form de la page.Souvent bon
;-------------------------------------------------------------------------
;$oAccount = _IEFormElementGetObjByName ($oForm, "Laccount")
;$oPassword = _IEFormElementGetObjByName ($oForm, "Lpassword")
;_IEFormElementSetValue ($oAccount, "pseudo")
;_IEFormElementSetValue ($oPassword, "*******")
;Les lignes d'en dessus correspondent au remplissage, ce que tu arrive à faire
;--------------------------------------------------------------------------
Et après on envoi le tout, terminé.
_IEFormSubmit($oForm)

IL faut donc ecrire:
Code : Tout sélectionner
$oForm = _IEFormGetCollection ($oIE,0) ; Ici on cherche la premiere form de la page.Souvent bon
$oValider = _IEFormElementGetObjByName ($oForm, "Valider")
_IEAction($oValider,"click")
-
- Niveau 1
- Messages : 7
- Enregistré le : mar. 15 juil. 2008 16:47
- Localisation : Toulouse / Luchon
- Status : Hors ligne
Re: [..] recherche d'objets dans une page web
Merci, la première solution fonctionne.
j'ouvre ma page, je rempli mes champ puis je valide avec
mais ceci que fait la première ligne ? elle récupère un objet Form ?
dans mon cas, c'est un bouton "OK" qui déclanche un javascript affichant un menu vertical si les champs sont correctement remplis. et je dois ensuite "cliquer" si des liens hypertextes de ce menu... Et ces liens, ils sont de repérables ?
je dois pouvoir y accéder par "TAB" mais c'est possible pas clic ???
j'ouvre ma page, je rempli mes champ puis je valide avec
Code : Tout sélectionner
$oForm = _IEFormGetCollection ($oIE,0)
_IEFormSubmit($oForm)
dans mon cas, c'est un bouton "OK" qui déclanche un javascript affichant un menu vertical si les champs sont correctement remplis. et je dois ensuite "cliquer" si des liens hypertextes de ce menu... Et ces liens, ils sont de repérables ?
je dois pouvoir y accéder par "TAB" mais c'est possible pas clic ???
...Milie...
- jbnh
- Niveau 11
- Messages : 1932
- Enregistré le : ven. 02 mai 2008 14:54
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] recherche d'objets dans une page web
par clic je suppose, si c'est le cas tout simplement Mouseclickc'est possible pas clic ???
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !
Merci
Merci
Re: [..] recherche d'objets dans une page web
il doit plutot parler des clics effectués avec _IEAction pour que le script soit fonctionnel sur n'importe quelle marchine.jbnh a écrit :par clic je suppose, si c'est le cas tout simplement Mouseclickc'est possible pas clic ???
$oForm = _IEFormGetCollection ($oIE,0) recupere le premier objet form de la page.
En fait, a chaque bouton Envoyer est associé plusieurs Input, generalement.
$oForm = _IEFormGetCollection ($oIE,0) equivaut à _IEFormGetObjByName si il n'y a qu'un form dans la page.
Allez dans l'aide et regardez bien et testez les exemples fournis pour comprendre, c'est assez compliqué.
Après, quant on a le oForm, on utilise les
$oAccount = _IEFormElementGetObjByName ($oForm, "Laccount") pour trouver ici le premier Input qui a pour name "Laccount". On pourrait tout aussi bien pu faire
$oForm = _IEFormElementGetCollection ($oForm,0)
et
$oForm = _IEFormElementGetCollection ($oForm,1) pour le 2eme input qui est generalement le Mot de Passe
Ensuite, pour votre page, le plus simple serait de m'envoyer le lien, par mp si vous ne souhaitez pas le rendre public.
Car votre menu doit je pense se trouver dans une frame, ou iframe, ce qui rend la chose encore plus compliquée.
Regardez ces fonctions:
_IEFrameGetCollection
_IELinkGetCollection puis _IELinkClickByIndex (marche seulement si votre lien ne renvoi pas vers du javascript) , dans ce cas il faut utiliser _IEAction
Bonne continuation
-
- Niveau 1
- Messages : 7
- Enregistré le : mar. 15 juil. 2008 16:47
- Localisation : Toulouse / Luchon
- Status : Hors ligne
Re: [..] recherche d'objets dans une page web
Merci, beaucoup beaucoup !!!
pour manipuler une page web, c'est pratique je connaitre le nom des objets...
dans mon cas, je cherche à automatiser des tests sur un site web durant sa conception, donc j'ai le code html, et donc le nom des objets...
je fais donc :
et ça marche aussi bien pour des champs de saisi que des combobox ou des listbox !
Merci @ tous !
pour manipuler une page web, c'est pratique je connaitre le nom des objets...
dans mon cas, je cherche à automatiser des tests sur un site web durant sa conception, donc j'ai le code html, et donc le nom des objets...
je fais donc :
Code : Tout sélectionner
; -> on récupère la <Form> de nom « name_form »
$oForm = _IEFormGetObjByName ($oIE, "name_form")
; -> on récupère l’objet de nom « obj » qui est dans la form « name_form », soit $oForm
$oElt=_IEFormElementGetObjByName ($oForm, "obj")
; -> on modifie la valeur du champ récupéré
_IEFormElementSetValue ($oElt, "valeur voulu !")
Merci @ tous !
...Milie...
Re: [R] Recherche d'objets dans une page web
Question qui va dans le meme sens que le topic:
J'ai fais choisir a travers une combobox un fois, et dans ma page web il existes une combobox avec les meme choix.
j'ai tenté:
Une petite idée?
J'ai fais choisir a travers une combobox un fois, et dans ma page web il existes une combobox avec les meme choix.
j'ai tenté:
Code : Tout sélectionner
$Combobox_home = _IEFormElementGetObjByName($Formulaire_home, "combobox1")
; Se place dans la combobox de la page Web
_IEFormElementSetValue($Combobox_home,$choix1)
; écrit le choix n°1 dans la comboxbox de la page web.
Re: [R] Recherche d'objets dans une page web
La , comme ca, aucune. Il me faudrait idealement la page internet ainsi que votre script complet:)
Sinon je vais difficilement pouvoir trouver vu que je n'ai jamais été confronté a ce genre de combobox.
Sinon je vais difficilement pouvoir trouver vu que je n'ai jamais été confronté a ce genre de combobox.
Re: [R] Recherche d'objets dans une page web
Je me suis peut etre mal exprimé 
En faite quand il y a un edit sur une page internet, il suffit de ce placé dedant et d'écrire ce que l'on désir.
Maintenant je voudrais faire la meme chose, avec une combobox. Il y a une combobox avec un certain nombre de choix. Si je désir le choix n°3 par exemple comment dois-je procéder.
merci

En faite quand il y a un edit sur une page internet, il suffit de ce placé dedant et d'écrire ce que l'on désir.
Code : Tout sélectionner
$Edit_login_home = _IEFormElementGetObjByName($Formulaire_home, "login")
_IEFormElementSetValue($Edit_login_home,$pseudo) ; écrit le pseudo dans l'edit
merci
Re: [R] Recherche d'objets dans une page web
Je n'ai pas fait d'essais, car flemme de chercher un site approprié, mais _IEFormElementCheckBoxSelect devrait marcher.
Re: [R] Recherche d'objets dans une page web
Merci c'est la fonction que je ne trouvais pas, c'est parfait 

Re: [R] Recherche d'objets dans une page web
Pour tester des applications web il te faudrait peut-être un outil plus adapté comme Webtest de Canoo, non?