[R] Recuperer l'index d'un lien hypertexte

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
mimi31110
Niveau 1
Niveau 1
Messages : 7
Enregistré le : mar. 15 juil. 2008 16:47
Localisation : Toulouse / Luchon
Status : Hors ligne

[R] Recuperer l'index d'un lien hypertexte

#1

Message par mimi31110 »

Bonjour,

je travaille sous internet explorer, je récupère l'ensemble des liens hypertexte de la page, et je voulais savoir s'il était possible de connaitre l'index d'un lien cherché par texte ?

:? c'est pas clair ? :roll:

je m'explique en code :

Code : Tout sélectionner

;creation de l'objet application IE
$oIE = _iecreate($url)
;attente de chargement
_IELoadWait($oIE)
;récupération de l'ensemble des liens
$oLinks = _IELinkGetCollection($oIE, 0)
;clic sur le lien de texte " TC_FILE_JASON "
_IELinkClickByText($oLinks, " TC_FILE_JASON ")
Est-il possible de récupérer l'index de ce lien de texte " TC_FILE_JASON ", car je cherche à cliquer sur le lien juste avant (donc index-1) dont je ne peux connaitre le nom ... ???
...Milie...
mimi31110
Niveau 1
Niveau 1
Messages : 7
Enregistré le : mar. 15 juil. 2008 16:47
Localisation : Toulouse / Luchon
Status : Hors ligne

Re: [..] Recuperer l'index d'un lien hypertexte

#2

Message par mimi31110 »

voilà, après quelques recherches, j'ai trouvé comment manipuler un peu des objets.
à partir d'un objet InternetExplorer.Application, on récupérer des Éléments par le nom ou l'id :

Code : Tout sélectionner

$o_object.document.links ; ensemble des liens
$o_object.document.getElementByName($s_Name) ; un objet par son nom
$o_object.document.getElementById($s_Id); un objet par son id
ces fonctions sont utilisé dans le code de IE.au3 (_IEGetObjBy...())
existe-t-il une documentation sur l'ensemble des fonctions/méthodes que l'on peut appliquer à un objet ???
du genre la liste des fonctions/méthodes comme getElementById, getElementByName, etc ...
...Milie...
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Recuperer l'index d'un lien hypertexte

#3

Message par ani »

La seul documentation connu a ce sujet est celle de microsoft.com.

normalement ce lien pourra t'aider ;)
C'est ma lecture de vacance :D => Référence HTML & DHTML

Pour l'index normalement dans la documentation au3 coté IE il devrait y avoir divers exemples.
mimi31110
Niveau 1
Niveau 1
Messages : 7
Enregistré le : mar. 15 juil. 2008 16:47
Localisation : Toulouse / Luchon
Status : Hors ligne

Re: [..] Recuperer l'index d'un lien hypertexte

#4

Message par mimi31110 »

voilà, j'ai trouvé une solution.
en parcourant les corps des fonction de ie.au3, des petits essais, et je suis arrivée à créer une fonction qui clique sur le lien précédant le lien de nom s_name :

Code : Tout sélectionner

Func ClickLienPrecedentByName(ByRef $o_object, $s_name)
    ;récupère les liens "<a ... />"
    $oLinks = _IETagNameGetCollection($o_object, "a")
    ;recherche du lien precedent et de son index
    $s_linkText = $s_name
    $i_index = Number(0)
    ;on parcours tous les liens en concervant le précédent
    For $link In $oLinks
        $linktext = $link.outerText & ""
        If $linktext = $s_linkText Then
            $i = $i_index - 1
            $o = $o_prec
        EndIf
        $o_prec = $link
        $i_index = $i_index + 1
    Next
    $o.click
EndFunc
dans mon cas, ma page contient comme l'image suivante une liste de liens : je dois clique sur la petite croix pour développer la donnée " ACQSOL_ENVISAT " qui est elle même un lien cliquable, donc sur le lien avant !
capture.PNG
capture.PNG (8.53 Kio) Vu 1324 fois
voili mon problème résolu !
@+
...Milie...
Répondre