Funktionreferenz


_IELoadWait

Beschreibung anzeigen in

Pausiert das Skript bis eine Seite im Browser fertig geladen wurde

#include <IE.au3>
_IELoadWait ( ByRef $oObject [, $iDelay = 0 [, $iTimeout = -1]] )

Parameter

$oObject Objekt-Variable einer InternetExplorer.Application oder eines DOM-Elements
$iDelay [optional] Zeit in Millisekunden, welche vor dem Beginn der Überprüfung gewartet werden soll.
$iTimeout [optional] Zeit in Millisekunden, welche maximal gewartet werden soll. (Standardwert: 300000 ms = 5 min)

Rückgabewert

Erfolg: 1
Fehler: 0 und setzt das @error Flag auf ungleich null
@error: 1 ($_IEStatus_GeneralError) - Allgemeiner Fehler
3 ($_IEStatus_InvalidDataType) - Ungültiger Datentyp
4 ($_IEStatus_InvalidObjectType) - Ungültiger Objekttyp
6 ($_IEStatus_LoadWaitTimeout) - Ladezeit überschritten
8 ($_IEStatus_AccessIsDenied) - Zugriff verweigert
9 ($_IEStatus_ClientDisconnected) - Verbindung abgebrochen
@extended: Beinhaltet Nummer des ungültigen Parameters

Bemerkungen

Einige IE.au3-Funktionen rufen _IELoadWait() automatisch auf (z.B. _IECreate(), _IENavigate() etc.).
Bei den meisten dieser Funktionen kann man dieses Verhalten mit einem $fWait Parameter abschalten, wenn man dies nicht möchte oder wenn man _IELoadWait() selbst aufrufen will.

Wenn DOM-Objekte an die _IELoadWait()-Funktion übergeben werden, wird der Ladestatus der übergeordneten Elemente bis zum übergeordneten Fenster überprüft.

Manche Sicherheitseinstellungen des Browsers können unter Umständen _IELoadWait() daran hindern, dass das Skript erst fortgesetzt wird, wenn die Seite fertig geladen wurde. Dies kann Fehlermeldungen zur Folge haben.
In diesen Fällen sollte man auf _IELoadWait() verzichten und stattdessen auf alternative Methoden ausweichen, um auf das Fertigstellen des Ladevorgangs einer Webseite zu warten.
Dies kann z.B. durch Sleep(), Auslesen der Browser-Status-Bar oder anderen Methoden erreicht werden. Wenn Funktionen verwendet werden, die _IELoadWait() intern nutzen und diese für andere Objekte als das InternetExplorer-Browser Objekt verwendet werden, kann es unter Umständen sinnvoller sein, wenn man _IELoadWait() stattdessen manuell aufruft. (z. B. _IELoadWait($oIE)).

Die häufigsten Fehlerquellen sind automatische Weiterleitungen und Sicherheitseinstellungen, die Cross-Site-Scripting verhindern, in Verbindung mit Frames. Automatische Seitenaktualisierungstechniken einiger Anwendungen (z.B. Googlemail) können ebenfalls Probleme verursachen.

Verwandte Funktionen

_IEAction, _IEBodyWriteHTML, _IECreate, _IEDocWriteHTML, _IEFormImageClick, _IEFormSubmit, _IEImgClick, _IELinkClickByIndex, _IELinkClickByText, _IELoadWaitTimeout, _IENavigate

Beispiel

#include <IE.au3>

; Öffnet das AutoIt-Forum und springt per Tab zu "Neue Beiträge" startet den Link durch drücken der Enter-Taste
; Dann wird gewartet bis die Seite komplett geladen wurde, bevor das Skript weiterläuft.

Local $oIE = _IECreate("http://www.autoitscript.com/forum/index.php")
Send("{TAB 12}")
Send("{ENTER}")
_IELoadWait($oIE)