Page 1 sur 1

[..] Naviguer dans une double frame

Posté : ven. 05 juil. 2013 18:48
par yohan8
Bonjour,

J'aimerais naviguer sur un site contenant 2 frames. Ce site vous est malheureusement inaccessible mais je vous communique son code source.
La deuxième frame contient un autre site qui comporte deux autres frame. C'est dans cette deuxième frame du deuxième site que j'aimerais naviguer.

Nous avons donc une page web avec 2 frames. Dans la deuxième frame nous avons le lien d'un site web contenant 2 autre frames.
Mes liens désirés ce situe dans la deuxième frame du deuxième site.


En rajoutant un peu de code source pour mieux y comprendre

Code source du premier site :
► Afficher le texte
Code source du deuxième site :
► Afficher le texte
Autoit peut-il supporter un telle casse tête ?


Yohan :)

Re: [..] Naviguer dans une double frame

Posté : ven. 05 juil. 2013 19:42
par mikell
Si tu vas directement à l'adresse url_deuxième_frame_du_site2 ça marche pas ?

Re: [..] Naviguer dans une double frame

Posté : sam. 06 juil. 2013 14:22
par yohan8
Je peux faire ça mais j'aimerais savoir si autoit peut rentrer dans une frame qui est dans un frame pour la naviguation

Re: [..] Naviguer dans une double frame

Posté : sam. 06 juil. 2013 15:35
par mikell
Il peut avec _IEFrameGetCollection() mais c'est se compliquer la vie non ?

Re: [..] Naviguer dans une double frame

Posté : sam. 06 juil. 2013 16:03
par yohan8
Il me détecte bien la première frame mais pour la deuxième (celle qui contient 2 autres frame) j’obtiens un message d'erreur :

Code : Tout sélectionner

C:\Program Files (x86)\AutoIt3\Include\IE.au3 (2705) : ==> The requested action with this object has failed.:
Return SetError($_IEStatus_Success, 0, $o_object.location.href())
Return SetError($_IEStatus_Success, 0, $o_object.location.href()^ ERROR

Re: [..] Naviguer dans une double frame

Posté : sam. 06 juil. 2013 17:40
par mikell
Tu posterais pas ton code ?

Re: [..] Naviguer dans une double frame

Posté : dim. 07 juil. 2013 01:35
par yohan8
L'objectif étant de rentrer dans la frame désiré puis de naviguer dedans, le code n'est pas bien intéressent :

Pour savoir si j'entre dans la bonne frame :

Code : Tout sélectionner

#include <IE.au3>

Local $oIE = _IECreate("monsite.fr")
Local $oFrames = _IEFrameGetCollection($oIE)
Local $iNumFrames = @extended
For $i = 0 To ($iNumFrames - 1)
    Local $oFrame = _IEFrameGetCollection($oIE, $i)
    MsgBox(0, "Frame Info", _IEPropertyGet($oFrame, "locationurl"))
Next

Re: [..] Naviguer dans une double frame

Posté : dim. 07 juil. 2013 08:08
par mikell
Faudrait essayer un truc comme ça

Code : Tout sélectionner

#include <IE.au3>

Local $oIE = _IECreate("monsite.fr")
Local $oFrame1 = _IEFrameGetCollection($oIE, 1)
$url1 = $oFrame1.src
_IENavigate($oIE, $url1)
Local $oFrame2 = _IEFrameGetCollection($oIE, 1)
$url2 = $oFrame2.src
_IENavigate($oIE, $url2)

Re: [..] Naviguer dans une double frame

Posté : dim. 07 juil. 2013 18:29
par yohan8
J'ai un message d'erreur pour "$url1 = $oFrame1.src"

Apparemment il n'aime pas l'ajout du ".src".


Mais même si j'arrive à identifier les 2 URL des 2 frames différentes je ne peux pas naviguer simplement car je suis obligé de rester sur la même pages d'origine.
Il faudrait que je rentre dans la frame désiré puis que je navigue à l'intérieur.

J'en déduis que autoit ne peux pas rentrer dans une frame d'une page web puis de nouveau rentrer dans une autre frame contenu dans la première frame pour naviguer dedans tout en restant sur la page web d'origine.