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] )
$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 |
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 |
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.
_IEFrameGetObjByName, _IEIsFrameSet
#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)