Setzt den Wert eines angegebenen Formelements
#include <IE.au3>
_IEFormElementSetValue ( ByRef $oObject, $sNewValue [, $iFireEvent = 1] )
$oObject | Objekt Variable einer InternetExplorer.Application, Formelement Objekt |
$sNewValue | Der zu setzende Wert des Formelements |
$iFireEvent | [optional] gibt an, ob nach Änderung des Wertes ein OnChange ausgeführt werden soll 0 = keine Ausführung von OnChange oder OnClick nach Wertänderung 1 = (Standard) führt OnChange und OnClick aus nach Wertänderung |
Erfolg: | 1 |
Fehler: | 0 und setzt das @error Flag auf ungleich null |
@error: | 2 ($_IEStatus_COMError) - COM Fehler in der Objektreferenz 3 ($_IEStatus_InvalidDataType) - Ungültiger Datentyp 4 ($_IEStatus_InvalidObjectType) - Ungültiger Objekttyp |
@extended: | Nummer des ungültigen Parameters |
Obwohl alle Formelemente einen Wert besitzen, verwenden nur textorientierte Elemente diese Werte auch ersichtlich (type text, textarea, hidden, password und file).
Der Wert der anderen Formelemente bewirkt nicht dass, was diese im User Interface anzeigen, sondern eher der Wert, der zurückgegeben wird, wenn das Element ausgewählt oder aktiviert wird.
Siehe _IEFormElementOptionSelect(), _IEFormElementCheckBoxSelect(), _IEFormElementRadioSelect() und _IEFormImageClick() für weitere Informationen.
Merke: Man kann _IEFormElementSetValue() nicht verwenden, um Werte eines INPUT TYPE=FILE Elementes zu ändern. Die Sicherheitseinstellungen der Browser verhindern, dass dieses Element durch ein Skript verändert wird. Siehe das Beispiel unten als Lösungsansatz.
_IEFormElementCheckBoxSelect, _IEFormElementGetCollection, _IEFormElementGetObjByName, _IEFormElementGetValue, _IEFormElementOptionSelect, _IEFormElementRadioSelect
#include <IE.au3>
; Öffnet einen Browser mit dem Formular-Beispiel und ändert den Wert eines Textfeldes
Local $oIE = _IE_Example("form")
Local $oForm = _IEFormGetObjByName($oIE, "ExampleForm")
Local $oText = _IEFormElementGetObjByName($oForm, "textExample")
_IEFormElementSetValue($oText, "Hey! Es funktioniert!")
#include <IE.au3>
; Stellt den Verweis auf ein bestimmtes Formular-Feld fest und ändert seinen Wert.
; Anschließend wird eine Abfrage in der Google Suchmaschine gestartet
Local $oIE = _IECreate("http://www.google.com")
Local $oForm = _IEFormGetCollection($oIE, 0)
Local $oQuery = _IEFormElementGetCollection($oForm, 4)
_IEFormElementSetValue($oQuery, "AutoIt IE.au3")
_IEFormSubmit($oForm)
#include <IE.au3>
; Setzt den Wert eines Elements vom Typ INPUT TYPE=FILE durch die Verwendung von Send()
Local $oIE = _IE_Example("form")
Local $oForm = _IEFormGetObjByName($oIE, "ExampleForm")
Local $oInputFile = _IEFormElementGetObjByName($oForm, "textExample")
; Setzt den Eingabefokus auf das Feld und sendet dann den Textstring
_IEAction($oInputFile, "focus")
; Markiert den bereits enthaltenen Inhalt, so dass dieser überschrieben wird.
_IEAction($oInputFile, "selectall")
Send("Es funktioniert")
#include <IE.au3>
#include <MsgBoxConstants.au3>
; Setzt den Wert eines Elements vom Typ INPUT TYPE=FILE bei einem unsichtbarem Fenster durch die Verwendung von ControlSend()
Local $oIE = _IE_Example("form")
; Versteckt das Browser-Fenster, um das Senden von Text zu einem versteckten Fenster zu demonstrieren
_IEAction($oIE, "invisible")
Local $oForm = _IEFormGetObjByName($oIE, "ExampleForm")
Local $oInputFile = _IEFormElementGetObjByName($oForm, "textExample")
; Setzt den Fokus auf das Input-Control und sendet dann den Textstring
_IEAction($oInputFile, "focus")
; Markiert den bereits enthaltenen Inhalt, so dass dieser überschrieben wird.
_IEAction($oInputFile, "selectall")
; Ermittelt ein Handle zu dem IE-Fenster
Local $hIE = _IEPropertyGet($oIE, "hwnd")
ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "Es funktioniert")
_IEAction($oIE, "visible")
MsgBox($MB_SYSTEMMODAL, "Erfolg", "Wert gesetzt auf 'Es funktioniert'")