Hallo,
ich versuche zum ersten Mal eine Website aufzurufen und automatisiert Felder auszufüllen. Aber ich bekomme es nicht hin. Ich rate da wild herum, weil ich auch keine Ahnung von html habe.
Es handelt sich um eine ganz einfache firmeninterne Website. Unter der URL finde ich nur Benutzer und Passwort Felder. Das Ausfüllen und Absenden klappt noch. Die URL ändert sich nicht, aber ich komme natürlich auf eine neue Seite, mit einem Formular mit nur einem Inputfeld und einem Absenden Button.
Allerdings kann ich dann nicht mehr erfolgreich auf das Feld zugreifen. Der Fehlerwert von _IEFormElementGetObjByName ist immer 7 (No Match).
Spoiler anzeigen
<body>
<div class="center">
<form method="post" action="" class="form">
<input type="hidden" name="a" value="XX">
<input type="hidden" name="h" value="YY">
<p>
<label for="e">Text</label>
<input type="text" id="e" name="e" value="" placeholder="Beispieltext" required>
</p>
<p>
<input type="submit" class="button" value="Absenden">
</p>
</form>
</div>
</body>
#include <IE.au3>
$sBenutzer = "Benutzer"
$sPasswort = "Passwort"
$sEingabetext = "Testtext"
$oIE = _IECreate ("http://news.ABC.de/custom/api/ABC/XX/index.jsp")
_IELoadWait($oIE)
$oForm = _IEFormGetCollection($oIE, 0)
$oBenutzerfeld = _IEFormElementGetObjByName ($oForm, "u")
_IEFormElementSetValue ($oBenutzerfeld, $sBenutzer)
$oPasswortfeld = _IEFormElementGetObjByName ($oForm, "p")
_IEFormElementSetValue ($oPasswortfeld, $sPasswort)
_IEFormSubmit($oForm)
_IELoadWait($oIE)
;~ $oForm = _IEFormGetCollection($oIE, 0)
; ### Ab hier funktionert es nicht.
$oEingabefeld = _IEFormElementGetObjByName ($oForm, "e")
If @error Then Exit MsgBox(0,@ScriptLineNumber, @error)
_IEFormElementSetValue ($oEingabefeld, $sEingabetext)
Alles anzeigen
Ich hoffe jemand sieht hier schnell, was ich falsch mache und kann mir helfen.
Gibt es darüber hinaus ein Tutorial oder wie sollte ich mich sinnvoll in das Thema einarbeiten?