Funktionreferenz


_IEFrameGetCollection

Beschreibung anzeigen in

Gibt eine Sammlung zurück, die alle Frames eines Framesets, die iFrames einer normalen Internetseite, einen einzelnen Frame oder einen iFrame (bestimmt durch den Index) enthält

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

Parameter

$oObject Objektvariable einer InternetExplorer.Application, eines Window- oder Frame-Objekts
$iIndex [optional] Bestimmt, ob eine Sammlung oder eine indexbasierte Instanz zurückgegeben werden soll
    0 oder positive, ganze Zahl = gibt eine indexbasierte Instanz zurück
    -1 = (Standard) gibt eine Sammlung zurück

Rückgabewert

Erfolg: eine Objektvariable, welche alle Frames beinhaltet, @extended = Anzahl der Form-Elemente
Fehler: Setzt das @error Flag auf ungleich null
@error: 3 ($_IEStatus_InvalidDataType) - Ungültiger Datentyp
5 ($_IEStatus_InvalidValue) - Ungültiger Wert
7 ($_IEStatus_NoMatch) - Keine Übereinstimmung gefunden
@extended: Nummer des ungültigen Parameters

Bemerkungen

Obwohl MSDN-Dokumente angeben, der Rückgabewert dieser Funktion sei ein Auflistungsobjekt, kann man diesen nicht mit einer For...Next-Schleife durchlaufen wie bei einem normalen Auflistungsobjekt.
Stattdessen muss man die Sammlung unter Zuhilfenahme des Index Schritt für Schritt durchschreiten - siehe Beispiel.

Verwandte Funktionen

_IEFrameGetObjByName, _IEIsFrameSet

Beispiel

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

; Öffnet ein "frameset" Beispiel, bestimmt eine Sammlung an "frames" und erstellt eine Schleife, die deren URL-Quellen anzeigt

Local $oIE = _IE_Example("frameset")
Local $oFrames = _IEFrameGetCollection($oIE)
Local $iNumFrames = @extended
Local $sTxt = $iNumFrames & " Frames gefunden" & @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)