Login_bewerkstelligen

  • Das ist der Quellcode meines Logins:

    PHP
    <tr><td colspan="2"><h4>Login</h4></td></tr>
    	<tr><td align="right">Benutzername:</td><td><input name="user" type="text" size="15" maxlength="30" value=""/></td></tr>
    	<tr><td align="right">Passwort:</td><td><input name="clear" type="hidden" value="true" /><input name="password" type="password" size="15" maxlength="20" /></td></tr>

    Das ist mein Login-Prog:

    Spoiler anzeigen
    [autoit]


    #include <ie.au3>
    $oIE = _IECreate ("http://www.XY.de")
    ;Prüfen ob ein Objekt erzeugt wurde
    If IsObj($oIE) Then
    ;warten bis die Seite komplett geladen wurde
    _IELoadWait($oIE)
    ;Erzeugen eines HTML-Formular-Objekts mit Hilfe des Formularnamens
    $oForm = _IEFormGetObjByName($oIE, "Login")
    ;Erzeugen eines Formularfeld-Objekts mit Hilfe des Feldnames
    $oUsername = _IEFormElementGetObjByName($oForm, "user")
    ;Setzen des Formularfeldinhalts
    _IEFormElementSetValue($oUsername, "Mein_Benutzername")
    ;Erzeugen eines Formularfeld-Objekts mit Hilfe des Feldnames
    $oPasswd = _IEFormElementGetObjByName($oForm, "clear")
    ;Setzen des Formularfeldinhalts
    _IEFormElementSetValue($oPasswd, "Mein_Passwort")
    ;Absenden des Formulars
    _IEFormSubmit($oForm)

    [/autoit]

    Was hab ich falsch gemacht?

    7 Mal editiert, zuletzt von Flockes (9. Oktober 2007 um 12:10)

  • hi,

    "Login" ist nicht der formname ($oForm); in diesem fall nur reiner text.
    schau mal im quelltext nach name= nach evt. form id= oder so ähnlich, oder poste mal mehr quelltext please.

    im beispiel von gmx ist der quelltext:

    Spoiler anzeigen
    [autoit]

    <form id="formLogin" action="//service.gmx.net/de/cgi/login" method="post" name="login">
    <input name="AREA" value="1" type="hidden"/>
    <input name="EXT" value="redirect" type="hidden"/>
    <input name="EXT2" value="" type="hidden"/>
    <input name="uinguserid" value="" type="hidden"/>
    <fieldset id="fieldsetLoginUser">
    <label for="username"><span>E-Mail:</span></label>
    <input name="id" id="username" class="field" type="text" value=""/>
    <label for="password"><span>Passwort:</span></label>
    <input name="p" id="password" class="field" type="password" value=""/>
    <input id="inpLoginSubmit" class="submit more" type="submit" value="login"/>
    </fieldset>
    <div class="formControl">

    [/autoit]

    kann man dann so sich einloggen:

    Spoiler anzeigen
    [autoit]

    $oForm = _IEFormGetObjByName ($oIE, "login")
    $oUser= _IEGetObjByName($oFormLogin,"id")
    $oPasswd = _IEGetObjByName($oFormLogin,"p")
    _IEFormElementSetValue ($oUser, $account)
    _IEFormElementSetValue ($oPasswd, $passwort)
    _IEFormSubmit($oFormLogin,0)

    [/autoit]


    gruss exberliner

  • also das steht da noch, wenn es dir weiterhilft?


    PHP
    <form action="index.php?action=login" method="post">
    	<table class="in_border" width="252">
    
    
    	
    	<tr><td colspan="2"><h4>Login</h4></td></tr>
    	<tr><td align="right">Benutzername:</td><td><input name="user" type="text" size="15" maxlength="30" value=""/></td></tr>
    	<tr><td align="right">Passwort:</td><td><input name="clear" type="hidden" value="true" /><input name="password" type="password" size="15" maxlength="20" /></td></tr>

    Einmal editiert, zuletzt von Flockes (9. Oktober 2007 um 14:44)

  • du kannst die Form auch über Index auswählen lassen und musst halt schauen welcher es ist -> also mal schnell in die Hilfe schauen

  • ok, ich hab mich jetz mal an web.de versucht!

    Aber es klappt nicht

    Mein autoit Prog:

    [autoit]


    #include <ie.au3>
    $oIE = _IECreate("http://web.de",0,1)
    _IELoadWait($oIE)
    sleep(5000); Nur so für mich, damit es schön langsam geht
    $oForm = _IEFormElementGetCollection($oIE,0)
    $oQuery1 = _IEFormElementGetObjByName($oForm,"su")
    _IEFormElementSetValue($oQuery1,"Test1")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    _IEFormSubmit($oForm)

    [/autoit]

    Was hab ich falsch gemacht??

    Das Prog soll Test1 in die suchspalte einfügen.

    Beim Lösungsvorschlag bitte einen Index verwenden.

    2 Mal editiert, zuletzt von Flockes (10. Oktober 2007 um 05:07)

    • Offizieller Beitrag

    Hi,
    ich kann bei mir nichts testen, aber einen Fehler sehe ich.
    Du arbeitest mit _IEFormElementGetCollection() ohne auf eine Form Bezug zu nehmen.

    Das sollte so aussehen (Bsp. aus der Hilfe)

    [autoit]

    $oIE = _IECreate ("http://www.google.com")
    $oForm = _IEFormGetCollection ($oIE, 0)
    $oQuery = _IEFormElementGetCollection ($oForm, 1)

    [/autoit]
  • Ich dachte wenn ich 0 eingebe, dann nimmt der das erste form was da ist?!?

    Ich hab auch ein bissel mit der Zahl hinten rumprobiert und mal 1 oder 2 ein-

    gegeben, aber es klappt trotzdem nich 8o

  • Hi,

    auch ich muss mich immer beim web.de e-Mail-Konto einloggen und die Werbung, Nutzername dass Alles kann manchmal nerven, wenn es schnell gehen soll.

    Also habe ich eine Verknüpfung erstellt die mit IE sowie FF funktioniert, vielleicht hilft Dir das weiter (hat allerdings nichts mit AutoIT zu tun).

    Hierbei ist MAX_MUSTER durch Deinen Namen zu ersetzen.

    WEB.DE FreeMail MAX_MUSTER
    "https://freemail.web.de/msg/popmail.htm?user=MAX_MUSTER&goto=/online/startseite"

    Viel Erfolg
    Euer Ritzelrocker04
    .

  • Ne ne, web.de war nur ein beispiel, ich wollte das halt mit autoit lernen.

    (Dieses automatisch einloggen in einen acc.)

    Leider klappt es nicht form über den index anzusprechen und da bräuchte

    ich jetz Hilfe oder Erklärung was ich falsch gemacht habe. :comp2:

  • Hallo Flockes-Ungeduld.

    Du mußt eindeutig viel ruhiger werden. Antworten kommen nicht immer über Nacht. Ab und an muß auch jemand da sein, der einen helfen kann und dann gibt es wiederum die Probleme deren Lsg. etwas längern dauern.

    Geduld ist etwas gaaaanz wichtiges. Du schickst doch auch keinen Brief per Post AG spääääääät ABENDS weg und fragst morgens nach, wann er endlich da ist.

    Nein, Spaß bei Seite. Warte bisschen ab, dann wird Dir auch geholfen.

    Ich selber frage mich auch immer, wie BugFix heraus bekommt, wie das funktioniert mit dem, was man abfragen muß. Habe dafür noch keine Lsg. gefunden und warte mal auf eine "Erklärung für B(l)ond" ;)

    Gruss, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    • Offizieller Beitrag

    Hi,

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    $sUsername = "Username"
    $sPassword = "Password"
    $sUrl = "http://freemail.web.de/"
    $oIE = _IECreate ($sUrl,0,1,1,0)
    $oHWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState ($oHWND, "", @SW_MAXIMIZE )
    $oForm = _IEFormGetCollection ($oIE, 0)
    $oUsername = _IEFormElementGetObjByName ($oForm, "username")
    $oPassword = _IEFormElementGetObjByName ($oForm, "password")
    _IEFormElementSetValue ($oUsername, $sUsername)
    _IEFormElementSetValue ($oPassword, $sPassword)
    _IEFormSubmit ($oForm)

    [/autoit]

    So long,

    Mega

  • danke Xeno,

    ich bin gerade nicht zu Haus, deshalb kann ich das prog nicht gleich

    ausprobieren.

    Kannst du mir noch erklären was der Befehl macht:

    [autoit]

    $oHWND = _IEPropertyGet($oIE, "hwnd")

    [/autoit]

    Und wenn das jetz bei dir mit Index null klappt fress ich den Haufen

    da :comp1: !

    Weil ich habs genau so gemacht wie du, bis auf

    $oHWND = _IEPropertyGet($oIE, "hwnd")

    und soweit ich das sehe gibst du den Befehl nur ein um das Fenster

    zu maxen