_IEFormSubmit(), aber es wird nichts abgeschickt

05/15/2012 17:48 megamen 13#1
Hallöchen,

wollte mir einen kleinen Bot basteln und hab leider schon Probleme beim Login:

Quote:
#include <IE.au3>

Global $u = "aufjedenfallfalschername", $p = "aufjedenfallfalschespasswort"

$oIE=_IECreate("http://privat-wow-server.eu/")
;EndIf
_IELoadWait($oIE,0,30000)

$oForm = _IEFormGetCollection($oIE,0)

$oUser = _IEFormElementGetObjByName($oForm, "user")
$oPass = _IEFormElementGetObjByName($oForm, "pass")

_IEFormElementSetValue($oUser, $u)
_IEFormElementSetValue($oPass, $p)
_IEFormSubmit($oForm)
_IELoadWait($oIE)

Er füllt die beiden Felder Tadellos aus, nur bewirkt Submit leider gar nichts =(.

Es müsste eigentlich die Meldung erscheinen, dass der Account nicht existiert.
05/15/2012 18:02 Achat#2
Edit: Willkommen bei Elitepvpers.com!

Versuch mal auf den "Submit" Button zu drücken. ( _IEAction() )

Benutze lieber HTTP/TCP, ist schneller ;)

MfG
05/15/2012 18:10 Freddy​#3
PHP Code:
$Button _IEGetObjByName($IE"name");bei name musst du den Namen des Buttons eintragen*
_IEAction($Button,"click"
Du kannst auch _IEGetObjByID nehmen oder wie das auch immer heißt und dann die ID des Buttons behmen
05/15/2012 18:12 megamen 13#4
Danke^^

Hab ich auch überlegt aber für das weitere Arbeiten muss ich Ie benutzen :)

FReddy: Der Button hat soweit ich das sehe gar keine Id:

Quote:
<input type="submit" value="Einloggen">
05/15/2012 18:26 Achat#5
Du kannst in den Quelltext eine ID mit rein schreiben, indem du ihn zuerst einliest und dann an die Stelle eine ID hinzufügst, zum Beispiel:

Code:
$sHTML=_IEDocReadHTML($oIE)
_IEDocWriteHTML($oIE,StringReplace($sHTML,'<input type="submit" value="Einloggen">','<input type="submit" value="Einloggen" id="Submitbutton">'))
MfG
05/15/2012 18:27 Freddy​#6
hm.. dann probier es mal so
PHP Code:
$objects _IEFormGetCollection($IE)
_IeFormSubmit($objects
05/15/2012 18:42 megamen 13#7
Quote:
#include <IE.au3>


Global $u = "aufjedenfallfalschername", $p = "aufjedenfallfalschespasswort"

$oIE=_IECreate("http://privat-wow-server.eu/")
;EndIf
_IELoadWait($oIE,0,30000)

$oForm = _IEFormGetCollection($oIE,0)

$oUser = _IEFormElementGetObjByName($oForm, "user")
$oPass = _IEFormElementGetObjByName($oForm, "pass")

_IEFormElementSetValue($oUser, $u)
_IEFormElementSetValue($oPass, $p)

$sHTML=_IEDocReadHTML($oIE)
_IEDocWriteHTML($oIE,StringReplace($sHTML,'<input type="submit" value="Einloggen">','<input type="submit" value="Einloggen" id="Submitbutton">'))

$Button = _IEGetObjByID($oIE, "Submitbutton")
_IEAction($Button,"click")
_IELoadWait($oIE)
So ? Bin jetzt ein wenig verwirrt, also hab dem Button ne Id verpasst und lass dann mit Action draufklicken.

Wenn ich das so starte, bleiben die beiden Felder leer.
05/15/2012 18:47 Achat#8
Verändere den Quellcode ganz am Anfang, danach die Values setzen.

MfG
05/15/2012 18:51 megamen 13#9
ok, hab _IEDocReadHTML jetzt direkt nach dem Create, jetz sind die Felder wiederausgefüllt, aber Button wurde nicht gedrückt.
05/15/2012 19:00 Achat#10
Versuch es mal mit ControlClick.

MfG
05/15/2012 19:10 megamen 13#11
Funktioniert Controlclick in einem nicht sichtbaren IE Fenster ?

Das alles wird nämlich am Ende im Hintergrund laufen.

Hab Controlklick noch nie vorher benutzt, außerdem wo ist bei Controlclick der Unterschied zwischen Titel und Text ? :confused:
05/15/2012 19:13 Achat#12
Musst du ausprobieren - wenn es nicht geht, mach einfach einen unsichtbaren embedded IE ;)

MfG
05/15/2012 19:15 Lawliet#13
Ich empfehle dir auch _Winhttp oder so zu nutzen. Ist viel effektiver.
Habe sowas wie die IE.au3 noch nie genutz.
Das ist ein einfach Tutorial, mit dem du sicher schnell dein Ziel erreichst.
05/15/2012 19:16 megamen 13#14
Sorry, abe rdu hilfst mir echt nichtmehr weiter, wenn du mit wörtern um dich schmeißt, die ich nicht kenne :D

Hab mir schon einen Winhttp-Bot dafür zusammengeschrieben, aber mein Ziel ist es auf der Seite [Only registered and activated users can see links. Click Here To Register...] die Votefelder anzuklicken.

Mit Winhttp kann ich aber nur die Links die sich dahinter befinden aufrufen, was mich nicht weiterbringt.
05/15/2012 19:32 Achat#15
Quote:
Originally Posted by megamen 13 View Post
Sorry, abe rdu hilfst mir echt nichtmehr weiter, wenn du mit wörtern um dich schmeißt, die ich nicht kenne :D

Hab mir schon einen Winhttp-Bot dafür zusammengeschrieben, aber mein Ziel ist es auf der Seite [Only registered and activated users can see links. Click Here To Register...] die Votefelder anzuklicken.

Mit Winhttp kann ich aber nur die Links die sich dahinter befinden aufrufen, was mich nicht weiterbringt.
:facepalm:

1. Firefox laden
2. Addon "LiveHTTPHeaders" laden
3. Pakete sniffen
4. In Autoit einfügen mit _WinHttp
5. Fertig

MfG