UDF > IE >


_IEFrameGetCollection

Retourne un objet collection contenant les images d'un FrameSet ou les iFrames d'une page normale ou une seule Frame ou une iFrame donné par son index

#include <IE.au3>
_IEFrameGetCollection ( ByRef $oObject [, $iIndex = -1] )

Paramètres

$oObject Variable objet InternetExplorer.Application, Window ou objet Frame
$iIndex [optionnel] Spécifie s'il faut retourner une collection ou une occurrence indexée
    0 ou un entier positif retourne une occurrence indexée
    -1 = (Par défaut) retourne une collection

Valeur de retour

Succès: Retourne une variable d'objet contenant la collection e Frames, @extended = nombre de Frames.
Échec: Définit @error <> 0.
@error: 3 ($_IEStatus_InvalidDataType) - Type de donnée invalide
5 ($_IEStatus_InvalidValue) - Valeur invalide
7 ($_IEStatus_NoMatch) - Pas de correspondance trouvée
@extended: Contient le nombre de paramètres invalides

Remarque

Bien que MSDN documente la valeur de retour de cette fonction comme un objet de collection, elle ne peut pas être traitée avec une boucle For...In...Next comme un objet de collection standard.
Vous devez plutôt faire défiler la collection par index - voir l'exemple.

En relation

_IEFrameGetObjByName, _IEIsFrameSet

Exemple

; Ouvre l'exemple frameset, obtient la collection d'images
; et boucle dans la collection pour afficher les URLs source

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

Local $oIE = _IE_Example("frameset")
Local $oFrames = _IEFrameGetCollection($oIE)
Local $iNumFrames = @extended
Local $sTxt = $iNumFrames & " frames found" & @CRLF & @CRLF
Local $oFrame = 0
For $i = 0 To ($iNumFrames - 1)
    $oFrame = _IEFrameGetCollection($oIE, $i)
    $sTxt &= _IEPropertyGet($oFrame, "innertext") & @CRLF
Next
MsgBox($MB_SYSTEMMODAL, "Frames Info", $sTxt)

_IEQuit($oIE)