[..] Clic lien avec MAJ page concernant : _IELinkGetCollect

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
leonick12
Niveau 2
Niveau 2
Messages : 19
Enregistré le : mer. 25 sept. 2013 23:09
Localisation : Villefranche de Rouergue (12)
Status : Hors ligne

[..] Clic lien avec MAJ page concernant : _IELinkGetCollect

#1

Message par leonick12 »

bonjour, je chercher une solution concernant : _IELinkGetCollection

j'ai tester la commande qui recherche les liens de la page, ca marche tres bien quand j'ouvre la premiere page, ca clique sur le lien que j'ai choisi, mais une fois que le lien est cliqué, la page elle ne change pas c'est un java qui se rajoute comment utiliser les boutons du java dans ce cas la, le test est fait avec le site de la caisse d'epargne, on clique la premiere fois sur "acces aux comptes" le java s'ouvre mais apres comment remetre a jour la commande _IELinkGetCollection ? ou sinon comment cliquer directement sur les boutons sans passer par toutes ces lignes.

Code : Tout sélectionner

#include <IE.au3>
#include <MsgBoxConstants.au3>

$oIE = _IECreate("https://www.caisse-epargne.fr/particuliers/accueil.aspx")

_IELinkGetCollection($oIE,0)
Local $oLinks = _IELinkGetCollection($oIE)
Local $iNumLinks = @extended
MsgBox(0, "Link Info", $iNumLinks & " links found")
For $oLink In $oLinks
;MsgBox(0, "Link Info", $oLink.href)
If $oLink.href = "https://www.caisse-epargne.fr/particuliers/ind_pauthpopup.aspx?srcurl=accueil" Then ;click on the youtube link
$oIE2 = _IEAction($oLink, "click")
ExitLoop
EndIf
Next



_IELinkGetCollection($oIE,0)
Local $oLinks = _IELinkGetCollection($oIE)
Local $iNumLinks = @extended
MsgBox(0, "Link Info", $iNumLinks & " links found")
For $oLink  In $oLinks
;MsgBox(0, "Link Info", $oLink.href)
If $oLink.href = "javascript&#058;__doPostBack('ctl01$CC_ind_pauthpopup$ctl01$CC_ind_ident$ctl01$CC_ind_inputuserid_sup$btnValider','')" Then ;click on the youtube link
_IEAction($oLink, "click")
ExitLoop
EndIf
Next
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] clic lien avec MAJ page concernant : _IELinkGetCol

#2

Message par orax »

La fenêtre qui s'ouvre c'est juste une iframe. Ça pourrait peut-être marcher en l'ouvrant directement mais c'est pas sûr, faut essayer.

Code : Tout sélectionner

#include <IE.au3>

$oIE = _IECreate("https://www.caisse-epargne.fr/particuliers/ind_pauthpopup.aspx?srcurl=accueil")
$oForm = _IEGetObjById($oIE, "Main")
$oInput = _IEGetObjById($oForm, "ctl01_CC_ind_pauthpopup_ctl01_CC_ind_ident_ctl01_CC_ind_inputuserid_sup_txnuabbd")
_IEFormElementSetValue($oInput, "mon indentifiant client")

_IEFormSubmit($oForm)
; si ça ne marche pas avec _IEFormSubmit il faudra essayer avec le code ci-dessous à la place...
;~ $oBtnValider = _IEGetObjById($oForm, "ctl01_CC_ind_pauthpopup_ctl01_CC_ind_ident_ctl01_CC_ind_inputuserid_sup_btnValider")
;~ $oBtnValider.click()
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
leonick12
Niveau 2
Niveau 2
Messages : 19
Enregistré le : mer. 25 sept. 2013 23:09
Localisation : Villefranche de Rouergue (12)
Status : Hors ligne

Re: [..] Clic lien avec MAJ page concernant : _IELinkGetCol

#3

Message par leonick12 »

merci, mais le probleme n'est pas resolu car le but du script qui pourrais me servir de reference , c'est d'aller sur une page cliquer sur un lien la faire evoluer et refaire la manip du clic, le probleme de la IElinkgetcollect c'est que ca se remets pas a jour, et je comprends pas pourquoi on peut pas cliquer sur un lien directement sans passer par une recherche des liens ?
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Clic lien avec MAJ page concernant : _IELinkGetCol

#4

Message par orax »

Le problème est lié au fait qu'il y a une iframe dans la page. _IELinkGetCollection ne va pas chercher les liens à l'intérieur de cette iframe (ce qui est normal). Donc il faut récupérer l'objet représentant cette iframe.
► Afficher le texte
leonick12 a écrit :je comprends pas pourquoi on peut pas cliquer sur un lien directement sans passer par une recherche des liens
Ben si on peut. Je l'avais fait dans mon exemple. Je récupère l'élément (la balise) qui m'intéresse, d'après son ID, et je clique dessus (en d'autres termes, j'invoque la méthode click() sur cet objet).

Code : Tout sélectionner

$oBtnValider = _IEGetObjById($oForm, "ctl01_CC_ind_pauthpopup_ctl01_CC_ind_ident_ctl01_CC_ind_inputuserid_sup_btnValider")
$oBtnValider.click() ; ou _IEAction($oBtnValider, "click")
On pourrait aussi utiliser _IELinkClickByText ou _IELinkClickByIndex.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Répondre