Automischer Login auf einer Internet seite per Internet explorer 7

  • Schönen guten morgen.Ich habe da eine frage.
    Ich habe ein script was den IE startet eine Url aufruft und dann ins eingabe fenster USER und PASSWORD spring und die daten automatisch ein gibt,welche er dann bestätigt. Das soll verhindern das das PW rausgegeben werden muss.
    So nun zu dem Problem im IE 6 läuft es super aber im IE 7 will es keine daten eingeben.Ich hoffe ihr könnt mir helfen.

    Ich hoffe mir kann wer helfen :)

  • ControlSend("DATEV-Software online - Microsoft Internet Explorer", "", "", $sUsername & @Tab & $sPassword & @Tab &"{Enter}" ) <-- ises ein formular? falls ja dann änder das doch! denn wenn jemand rausklickt wird das pw auch geschrieben ;)

  • Also, mir ist sowas noch nie passiert... Versuch doch das Formular direkt anzusprechen (schau im Beispiel von _IEFormSetValue, Hotmail-Login)...

  • Ich hoffe ihr verzeiht mir aber ich bin ne null dadrin.Vielleicht könnte sich jemand die sache mal angucken und mir ne lösung geben.Ich wäre sehr dankbar

  • Ich weiß nicht ob es bei dir so funktioniert, aber bei mir gehts so (ohne Proxy und so Zeug):

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    $sUsername = "*****"
    $sPassword = "******"

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

    $url = "http://193.27.52.3/Citrix/MetaFrame/default/default.aspx"
    $oIE = _IECreate($url, 1)

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

    #cs
    $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
    #ce

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

    $oform = _IEFormGetObjByName($oIE, "loginForm") ;Form-Name steht in der Console wenn auskommentierte Zeilen aktiv
    $oname = _IEFormElementGetObjByName($oform , "User.id") ;Element-Name steht in der Console wenn auskommentierte Zeilen aktiv
    $opasswd = _IEFormElementGetObjByName($oform , "User.password") ;Element-Name steht in der Console wenn auskommentierte Zeilen aktiv
    $setname = _IEFormElementSetValue($oname, $sUsername) ;sende Benutzernamen
    $setpasswd = _IEFormElementSetValue($opasswd, $sPassword) ;sende Passwort
    _IEFormSubmit($oform) ;bestätige die Form, also Eingaben übernehmen

    [/autoit]

    Mit den ausdokumentierten Zeilen findest du hoffentlich die Formnamen und Elementnamen die du brauchst.

    mfg funkey

  • Es kommt auch darauf an, wo du dich einloggen willst, schau da im Quelltext nach, dort steht alles, was du bracuhst ^^

    Spoiler anzeigen


    <table border='0' cellspacing='5' cellpadding='5'>
    <tr align='left'>
    <td align='left' valign='top' nowrap>
    <label id='lblUserName' class='xxsBold' for='user'
    title="Geben Sie Ihren Benutzernamen ein."
    >
    Benutzername:
    </label>
    </td>
    <td valign='top'>
    <input type='text' name='user' id='user'
    class='loginEntries' value=''
    maxlength='256'
    onkeyup='onUsernameTextEntry(this.form)'>
    </td>
    </tr>
    <tr align='left'>
    <td align='left' valign='top' nowrap>
    <label id='lblPasswd' class='xxsBold' for='password'
    title="Geben Sie Ihr Kennwort ein."
    >
    Kennwort:
    </label>
    </td>
    <td valign='top'>
    <input type='password' name='password' id='password'
    class='loginEntries' value=''
    maxlength='256' >
    </td>
    </tr>

    </table>

  • Hab gesehen, dass es die Seite ja wirklich im Internet gibt :D
    Es geht so nicht wie ich es vorher gepostet hatte (Javascript).

    Aber so sollte es gehen, da der Fokus immer auf das Benutzereingabefeld gesetzt wird:

    [autoit]

    #include <IE.au3>

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

    $sUsername = "*****"
    $sPassword = "******"

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

    $url = "http://193.27.52.3/Citrix/MetaFrame/default/default.aspx"
    $oIE = _IECreate($url, 1)

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

    Send($sUsername)
    Send("{TAB}")
    Send($sPassword)
    Send("{Enter}")

    [/autoit]
  • Hallo also irgendwie will der nicht.Ich denke der 7er ist anders aufgebaut,
    aufrufen macht er.Url eingeben auch,Seite wird auch aufgerufen nur eingeben das will er nicht.
    Ich hoffe ihr könnt mir noch mal weiter helfen.
    Wäre euch sehr dankbar.

    mfg dyn

  • Hab auch IE7 und bei mir geht's einwandfrei. Ich verstehe jetzt nicht woran es liegt ?(

    [autoit]

    #include <IE.au3>

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

    $sUsername = "*****"
    $sPassword = "******"

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

    $url = "http://193.27.52.3/Citrix/MetaFrame/default/default.aspx"
    $oIE = _IECreate($url, 0,1,1,0)
    $oHWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState ($oHWND, "", @SW_MAXIMIZE )

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

    ControlSend("DATEV-Software online - Windows Internet Explorer","","",$sUsername)
    ControlSend("DATEV-Software online - Windows Internet Explorer","","","{TAB}")
    ControlSend("DATEV-Software online - Windows Internet Explorer","","",$sPassword)
    ControlSend("DATEV-Software online - Windows Internet Explorer","","","{Enter}")

    [/autoit]