Benutzernamen in Internet Explorer Eintragen

  • Hallo an alle!

    Ich habe auf einer seite über den Internet Explorer und zwar die Seite Jappy.de auf der startseite kommt das feld wo man Benutzer und Passwort eintragen tut.

    Also meine Frage Ich möchte mit Autoit ein sKript erstellen das wenn ich den Skript auslöse das er gleich den Benutzer feld füllt mit den richtigen Benutzername, ich könnte jetzt mit

    [autoit]

    send("{TAB}")

    [/autoit]


    arbeiten so das ich auf das feld bin wo ich dann es eintragen kann der Benutzername doch das denke ich nicht ob es so gut wehre es kann ja mal passieren das ein neues tool auf der ober flasche von Internet Explorer neu zu kommt und dann stimmt die

    [autoit]

    send("{TAB}")

    [/autoit]

    nicht mehr richtig. es gibt auch da nicht das ein Buchstarbe unterstrichen ist wo man den befehl Beispiel Alt+B nehmen kann.

    hier das bild was ich meine wo es ein getragen werden soll.

    http://www.imgimg.de/bild_pfeil9aeb6496png.png.html

    und hier der skript der zwar schon auf die seite hinweißt.

    [autoit]

    #include <IE.au3>
    $oIE = _IECreate ("www.jappy.de")
    $hWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState($hWND, "", @SW_MAXIMIZE)

    [/autoit]

    ich will noch dazu sagen das ich weiß das die browsers die seiten Benutzer und Passwort Speichern kann das möchte ich nicht es soll auch als portable dienen wenn ich bei jemandem bin und kurz mit diesen Skript einlogge .

    Würde es ihrgendwie gehen das feld an zu sprechen bitte um Hilfe und eine Kleine erklärung wenn es geht danke schon mal in Vorraus ?(

    MfG

    Baron1977

  • Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    $sUsername = 'Baron1977 '
    $sPassword = 'password'

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

    $url = "http://www.jappy.de/"
    Global $oIE = _IECreate($url)

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

    $oform = _IEFormGetCollection($oIE, 0)
    $oname = _IEFormElementGetObjByName($oform , "login[u]")
    $opasswd = _IEFormElementGetObjByName($oform , "login[p]")
    $obutton = _IEFormElementGetObjByName($oform , "Submit")
    $setname = _IEFormElementSetValue($oname, $sUsername)
    $setpasswd = _IEFormElementSetValue($opasswd, $sPassword)
    _IEAction($obutton, "click")

    [/autoit]
  • Danke an funkey!

    genau das meinte ich jetzt möchte ich nur gern wissen wie der weg ist um genau auf dem feld zu kommen da ich vorher nur die alte hilfsdatei hatte von Autoit und der Neue erst gestern Runter geladen habe.

    ansonsten ist genau das was ich wollte :rock:

    MfG

    Baron1977

  • Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    $oIE = _IECreate ("http://www.jappy.de/")

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

    $oForms = _IEFormGetCollection ($oIE)
    If @error Then
    MsgBox(0, '', 'Keine Formen enthalten')
    Else
    $Index = 0
    For $oForm In $oForms
    ConsoleWrite('Form-Index: ' & $Index & ' / Name: ' & $oForm.Name & @CRLF)
    $oFormElements = _IEFormElementGetCollection($oForm)
    If IsObj($oFormElements) Then
    $IndexElement = 0
    For $oElement In $oFormElements
    ConsoleWrite('Form: ' & $Index & ' /Element: ' & $IndexElement & ' /Name: ' & $oElement.Name & @CRLF)
    $IndexElement += 1
    Next
    EndIf
    $Index += 1
    Next
    EndIf

    [/autoit]

    Das Skript listet dir alle Formen und Formelemente einer Webseite auf ;) (wird in Scite in die Console geschrieben)
    Wenn man weiß wonach man sucht kann man auch einfach manuell den Quelltext einer Seite durchsuchen (das mache ich meistens)
    In deinem Fall Quelltext öffnen, nach 'Mitgliedsname:' suchen, den Namen des Elementes lesen ;) --> login[u ], den Namen des nächsten Elementes lesen (Passworteingabe --> login[p]), danach habe ich geschaut wie die Form überhaupt heißt --> sie hatte keinen --> also habe ich anstelle des Befehls '_IEFormGetObjByName($oIE, "Formname")' diesen Befehl verwendet: '_IEFormGetCollection($oIE, 0)'.
    Danach die Elementobjekte herausfinden mittels '_IEFormElementGetObjByName', dann die Werte schreiben mit '_IEFormElementSetValue' und normalerweise mit '_IEFormSubmit($oform)' die Form bestätigen, in diesem Fall war das nicht möglich, ich musste deshalb den Namen des Buttons herausfinden und mittels '_IEAction' darauf klicken.

    So, das war's. Geht doch ganz einfach, oder? :rock:

    Am besten du schaust dir die verwendeten Befehle genau in der Hilfe an!

    mfg funkey

  • Spoiler anzeigen

    #include <IE.au3>

    $oIE = _IECreate ("http://www.jappy.de/")

    $oForms = _IEFormGetCollection ($oIE)
    If @error Then
    MsgBox(0, '', 'Keine Formen enthalten')
    Else
    $Index = 0
    For $oForm In $oForms
    ConsoleWrite('Form-Index: ' & $Index & ' / Name: ' & $oForm.Name & @CRLF)
    $oFormElements = _IEFormElementGetCollection($oForm)
    If IsObj($oFormElements) Then
    $IndexElement = 0
    For $oElement In $oFormElements
    ConsoleWrite('Form: ' & $Index & ' /Element: ' & $IndexElement & ' /Name: ' & $oElement.Name & @CRLF)
    $IndexElement += 1
    Next
    EndIf
    $Index += 1
    Next
    EndIf

    Habe dies verwendet um zu testen aber da kommt nichts müßte da nicht dann msgbox kommen??? oder ?(

  • Hier habe ich noch ein Beispiel:

    erstmal die seite

    https://www.kabelmail.de/

    dann denn skript denn ich umgeändert habe

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    $sUsername = 'Baron@kabelmail.de'
    $sPassword = 'laracroft1984'

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

    $url = "https://www.kabelmail.de/"
    Global $oIE = _IECreate($url)

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

    $oform = _IEFormGetCollection($oIE, 0)
    $oname = _IEFormElementGetObjByName($oform , "ctl00$ContentPlaceHolder1$tbUserIDName")
    $opasswd = _IEFormElementGetObjByName($oform , "ctl00$ContentPlaceHolder1$tbUserPwd")
    $obutton = _IEFormElementGetObjByName($oform , "Submit")
    $setname = _IEFormElementSetValue($oname, $sUsername)
    $setpasswd = _IEFormElementSetValue($opasswd, $sPassword)
    _IEAction($obutton, "click")

    [/autoit]

    doch was mache ich hier jetzt wieder falsch ?

    hier zu der seite der teilweise Quelltext

    Spoiler anzeigen

    div class="greyBasicLine">

    <div style="padding: 5px 8px 5px 10px;">

    <div style="float: left;">

    <strong>Anmeldung für registrierte Kunden:</strong></div>

    <div style="float: right;cursor:pointer;" onclick="javascript:onPasswordInfo('block');">Passwort vergessen</div>

    </div>

    <br class="clear" />

    <div class="input3ColumnFirst">

    <div class="textMargin">

    E-Mail-Adresse</div>

    <div class="inputMargin">

    <!-- asp:input -->

    <input name="ctl00$ContentPlaceHolder1$tbUserIDName" type="text" maxlength="60" id="ctl00_ContentPlaceHolder1_tbUserIDName" class="contentInput" />

    </div>

    </div>

    <div class="input3Column">

    <div class="textMargin">

    Passwort</div>

    <div class="inputMargin">

    <!-- asp:input -->

    <input name="ctl00$ContentPlaceHolder1$tbUserPwd" type="password" maxlength="20" id="ctl00_ContentPlaceHolder1_tbUserPwd" class="contentInput" />

    </div>

    </div>

    <div class="input3Column">

    <div class="textMargin">

    &nbsp;</div>

    <div class="inputMargin">

    <input type="image" name="ctl00$ContentPlaceHolder1$ImageButton1" id="ctl00_ContentPlaceHolder1_ImageButton1" src="../img/kdg/buttons/login.gif" onclick="SetInactive();WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$ImageButton1&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))" style="height:22px;width:83px;border-width:0px;" />

    </div>

    </div>

    <br class="clear" />

    meine frage was soll den an mein skript das probleme liegen????


    "Die Beiträge die ich gelöscht habe wahr mein versehen da ich was gefragt habe was ich schon hatte ihrgendwie wurde das nicht gespeichert und deswegen als erledigt gesehen"

  • Form 1 und nicht Form 0, ansonsten fast richtig.

    [autoit]

    #include <IE.au3>

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

    $sUsername = 'Baron@kabelmail.de'
    $sPassword = 'laracroft1984'

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

    $url = "https://www.kabelmail.de/"
    Global $oIE = _IECreate($url)

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

    $oform = _IEFormGetCollection($oIE, 1)
    $oname = _IEFormElementGetObjByName($oform , "ctl00$ContentPlaceHolder1$tbUserIDName")
    $opasswd = _IEFormElementGetObjByName($oform , "ctl00$ContentPlaceHolder1$tbUserPwd")
    $setname = _IEFormElementSetValue($oname, $sUsername)
    $setpasswd = _IEFormElementSetValue($opasswd, $sPassword)
    _IEFormSubmit($oform)

    [/autoit]
  • Es hat erst nicht funktioniert dann habe ich das so gemacht.

    [autoit]

    #include <IE.au3>

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

    $sUsername = 'Baron@kabelmail.de'
    $sPassword = 'laracroft1984'

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

    $url = "https://www.kabelmail.de/"
    Global $oIE = _IECreate($url)

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

    $oform = _IEFormGetCollection($oIE, 1)
    $oname = _IEFormElementGetObjByName($oform , "ctl00$ContentPlaceHolder1$tbUserIDName")
    $opasswd = _IEFormElementGetObjByName($oform , "ctl00$ContentPlaceHolder1$tbUserPwd")
    $obutton = _IEFormElementGetObjByName($oform , "Submit")
    $setname = _IEFormElementSetValue($oname, $sUsername)
    $setpasswd = _IEFormElementSetValue($opasswd, $sPassword)
    _IEAction($obutton, "click")

    [/autoit]

    zwar steht jetzt die e-mail und das passwort doch er würde mit das richtige passwort nicht sich anmelden???

    der name für das button ist ctl00$ContentPlaceHolder1$ImageButton1 das müßte doch heißen das ich es so machen muß

    [autoit]

    $obutton = _IEFormElementGetObjByName($oform , "ctl00$ContentPlaceHolder1$ImageButton1")

    [/autoit]

    doch dann passiert auch nichts

  • Ich habe es hin bekommen habe mir die struktur genauer angesehen und dann ist mir dann was eingefallen.

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    $sUsername = 'Baron@kabelmail.de'
    $sPassword = 'laracroft1984'

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

    $url = "https://www.kabelmail.de/"
    Global $oIE = _IECreate($url)

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

    $oform = _IEFormGetCollection($oIE, 1)
    $oname = _IEFormElementGetObjByName($oform , "ctl00$ContentPlaceHolder1$tbUserIDName")
    $opasswd = _IEFormElementGetObjByName($oform , "ctl00$ContentPlaceHolder1$tbUserPwd")
    $oSubmit = _IEGetObjByName ($oIE, "ctl00$ContentPlaceHolder1$ImageButton1")
    $setname = _IEFormElementSetValue($oname, $sUsername)
    $setpasswd = _IEFormElementSetValue($opasswd, $sPassword)
    _IEAction ($oSubmit, "click")
    _IELoadWait ($oIE)

    [/autoit]


    Ich danke auch noch sehr funkey mit seine hilfe das ich es jetzt so ungefähr weiß danke