"_IEFormElementSetValue" Problem

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

    #include<IE.au3>

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

    Global Const $LoginURL = "https://www.alice-dsl.de/kundencenter/StartInvoice_P.do?selID=AL_MR_Monat"

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

    $oIE =_IECreate($LoginURL)
    $o_login = _IEGetObjByName($oIE,"benutzername")
    $o_password = _IEGetObjByName($oIE,"passwort")
    _IEFormElementSetValue ($o_login, "xxxxxxxxx")
    _IEFormElementSetValue ($o_password, "xxxxxxxx")

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

    was mach ich denn bitte falsch?^^
    Das passwortfeld wird ausgefüllt aber dann ists wieder leer t.t

    Einmal editiert, zuletzt von I3iLLiG (26. Februar 2009 um 21:46)

  • Vielleicht läd die Seite neu?
    Vllt ist es auch ein Schutz?
    Aber wenn eigenlich schon drinsteht...

    Padmak

  • hast du nen trick wies gehen könnte??
    oder nen anderen weg...

    woltle das eigentlich mit tcp machen aber das istsn https protocol und zudem noch 128mbit verschlüselt :wacko:

  • Lass es mal immer wieder auffüllen, so frei nach dem motto

    [autoit]


    For $i = 0 To 10
    ;anweisungen
    Sleep(4000)
    Next

    [/autoit]

    Padmak

  • ok habn weg gefunden vielleich nicht die beste möglichkeit aber für mich reichts:

    [spoiler]


    /spoiler]

    gruß i3illig

  • Also ich hab jetzt alles hinbekommen, die seicherheitsmechanismen von alice sucken ja mal derbe^^

    Das Ziel war die aktuellsten Rechnungen auszulesen...
    Ich poste da smal hier falls war auch bei alice ist und das braucht^^

    1. autoitdatei

    Spoiler anzeigen
    [autoit]


    #include<IE.au3>
    #include<String.au3>
    #include<Array.au3>

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

    ;###
    $Anzahl = False
    ;###

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

    $IEForm = _IECreate(@ScriptDir&"\login.html",0,0)
    _IEFormImageClick ($IEForm, "login", "name")
    _IELoadWait($IEForm)
    _IENavigate($IEForm,"https://www.alice-dsl.de/kundencenter/StartInvoice_P.do?selID=AL_MR_Monat")
    _IENavigate($IEForm,"https://rechnung.alice-dsl.de/asp/DAIW_lista_dow_fatture.asp?p1=46330682")

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

    $Text = _IEBodyReadHTML($IEForm)
    $Rechnungen = _StringBetween($Text,'href="javascript:scarica(',');">Rechnung')

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

    CheckRechnungen($Rechnungen)

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

    Func OpenRechnung($Rechnungen,$i)
    $Array = _StringBetween($Rechnungen[$i],"'","',")
    $DownloadLink = "https://rechnung.alice-dsl.de/asp/DAIW_download_PDF.asp?numero_fattura="&$Array[1]&"&anno="&$Array[2]&"&mese="&$Array[3]&"&p1="&$Array[9]&"&data_emissione="&$Array[4]&"&doc_row_id="&$Array[5]&"&num_pagine_fattura="&$Array[6]&"&offset_inizio_fatt="&$Array[7]&"&flgTr="&$Array[8]
    IniWrite("check.ini","Rechnungen",UBound($Anzahl),$Array[4])
    Return $DownloadLink
    EndFunc

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

    Func CheckRechnungen($Rechnungen)
    Global $Anzahl = IniReadSection("check.ini","Rechnungen")

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

    $RechnungenString = ""
    For $i = 1 to UBound($Rechnungen)
    $RechnungenString = $RechnungenString&$Rechnungen[$i-1]
    Next

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

    For $i = 1 to UBound($Anzahl)-1
    $Datum = IniRead("check.ini","Rechnungen",$i,"ERROR")

    If StringInStr($RechnungenString,$Datum) then
    $NeueRechnung = False
    Else
    $NeueRechnung = True
    EndIf

    NExt

    If $NeueRechnung = True Then
    TrayTip("Alice","Es wurde eine neue Rechnung gefunden!",10)
    $Download = OpenRechnung($Rechnungen,0)
    $Entscheidung = MsgBox(4,"Alice Rechnung","Es wurden neue Rechnungen gefunden."&@CRLF&"Soll die Neuste automatisch geöffnet werden oder willst du sie selbst auswählen?")
    If $Entscheidung = 6 then
    ShellExecute($Download)
    Else
    _IEAction($IEForm, 'visible')
    EndIf
    Else
    TrayTip("Alice","Keine neuen Rechnungen verfügbar!",10)
    Sleep(10000)
    EndIf
    EndFunc

    [/autoit]

    2. html datei namens login.html incl passwort und username

    Spoiler anzeigen

    3. ini datei mit folgendem inhalt

    Spoiler anzeigen
    Code
    >>> HIER NICHTS VERÄNDERN !!! <<<
    
    
    [Rechnungen]
    1=(Hier stehen die Daten der Rechnungen, die auf dem Server liegen)


    edit: und als anhang alles zusammen^^

    i3illig