Funktionreferenz


_IEFormSubmit

Beschreibung anzeigen in

Ein angegebenes Formular absenden

#include <IE.au3>
_IEFormSubmit ( ByRef $oObject [, $iWait = 1] )

Parameter

$oObject Objektvariable von einem InternetExplorer.Application, Form Objekt
$iWait [optional] Gibt an, ob gewartet werden soll, bis die Seite geladen ist, bevor zur Abarbeitung des Skripts zurückgekehrt werden soll.
    0 = Sofort zurückkehren, nicht auf das Laden der Seite warten.
    1 = (Standard) Vor dem Zurückkehren auf komplettes Laden der Seite warten.

Rückgabewert

Erfolg: nichts
Fehler: 0 oder -1 und setzt das @error Flag auf ungleich null
@error: 1 ($_IEStatus_GeneralError) - Allgemeiner Fehler
2 ($_IEStatus_COMError) - COM Fehler in der Objektreferenz
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: Nummer des ungültigen Parameters

Bemerkungen

Für viele HTML-Formulare reicht es nicht aus, _IEFormSubmit() zu benutzen, da dort oft ein benutzerdefiniertes JavaScript-Ereignis an den Submit-Button des Formulars gebunden ist.
In diesem Fall muss man einen Klick auf den Submit-Button simulieren, anstatt _IEFormSubmit() zu benutzen. Siehe im Beispiel für die "click"-Aktion von _IEAction().
Ebenfalls beruht manchmal die Formularverarbeitung auf dem Wert ("value") des Submit-Buttons, der zusammen mit dem Formularinhalt übergeben wird (oft dann, wenn es mehr als einen Submit-Button in dem Formular gibt und diese als Auslöser für verschiedene Ergebnisse bestimmt sind).
Diese Funktion wird keinen Wert eines Submit-Buttons übermitteln. Die Lösung ist, wie oben das "click"-Ereignis von _IEAction() zu verwenden.
Wenn man Fehler mit dem automatisch von der Funktion aufgerufenen _IELoadWait() hat, setzt man $iWait auf 0 und ruft _IELoadWait() selbst im Skript auf, wobei man das InternetExplorer-Objekt übergibt.

Verwandte Funktionen

_IEFormElementGetCollection, _IEFormElementGetObjByName, _IEFormGetCollection, _IEFormGetObjByName, _IEFormReset, _IELoadWait

Beispiel

Beispiel 1

#include <IE.au3>

; Öffnet einen Browser mit dem form-Beispiel; Formularfeld ausfüllen und absenden

Local $oIE = _IE_Example("form")
Local $oForm = _IEFormGetObjByName($oIE, "ExampleForm")
Local $oText = _IEFormElementGetObjByName($oForm, "textExample")
_IEFormElementSetValue($oText, "Hey! Es funktioniert!")
Sleep(2000)
_IEFormSubmit($oForm)

Beispiel 2

#include <IE.au3>

; Eine Referenz auf ein bestimmtes Formularfeld erhalten und den Wert eingeben.
; In diesem Fall wird eine Suche in der Suchmaschine von Google ausgeführt.

Local $oIE = _IECreate("http://www.google.com")
Local $oForm = _IEFormGetCollection($oIE, 0)
Local $oQuery = _IEFormElementGetCollection($oForm, 4)
_IEFormElementSetValue($oQuery, "AutoIt IE.au3")
Sleep(2000)
_IEFormSubmit($oForm)

Beispiel 3

#include <IE.au3>

; Eine Referenz auf ein bestimmtes Formularfeld erhalten und den Wert eingeben.
; Ruft _IELoadWait manuell auf, falls die Default-_IELoadWait Probleme hat.

Local $oIE = _IECreate("http://www.google.com")
Local $oForm = _IEFormGetCollection($oIE, 0)
Local $oQuery = _IEFormElementGetCollection($oForm, 4)
_IEFormElementSetValue($oQuery, "AutoIt IE.au3")
_IEFormSubmit($oForm, 0)
_IELoadWait($oIE)