Bank Kontostand abfragen (comdirekt,Postbank,DB,Norisbank)

  • Norisbank:

    [autoit]

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

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

    GUICreate("Norisbank", 210, 40)
    $Label1 = GUICtrlCreateLabel("Kontostand", 10, 10, 190, 50)
    Opt("GUIOnEventMode", 1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "OnExit")
    GUISetState()

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

    Func OnExit()
    Exit
    EndFunc

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

    GUICtrlSetData($Label1, "Kontostand wird abgefragt...")
    $oIE = _IECreate("https://meine.norisbank.de/trxm/noris/", 0, 0)
    $ffiliale = _IEGetObjById($oIE, "branch")
    $fkonto = _IEGetObjById($oIE, "account")
    $funterkonto = _IEGetObjById($oIE, "subAccount")
    $fpin = _IEGetObjById($oIE, "pin")

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

    $fsubmit = _IEGetObjById($oIE, "loginForm")

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

    $filiale = InputBox("filiale?", "Bitte geben Sie Ihre Filiale ein!", "", "")
    $konto = InputBox("konto?", "Bitte geben Sie Ihre Kontonummer ein!", "", "")
    $unterkonto = InputBox("unterkonto?", "Bitte geben Sie Ihre unterkonto ein!", "", "")
    $pin = InputBox("Pin?", "Bitte geben Sie Ihre Pin ein!", "","*")

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

    _IEFormElementSetValue($ffiliale, $filiale)
    _IEFormElementSetValue($fkonto, $konto)
    _IEFormElementSetValue($funterkonto, $unterkonto)
    _IEFormElementSetValue($fpin, $pin)
    _IEFormSubmit($fsubmit)
    _IELoadWait($oIE)

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

    $oTable = _IETableGetCollection($oIE, 1)
    $aTableData = _IETableWriteToArray($oTable)

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

    _IEImgClick($oIE, "Kunden-Logout", "name")
    _IEQuit($oIE)
    ;GUICtrlSetData($Label1, "Du verfügst noch über " & $aTableData[5][8] & " EUR") ;alle Konten die man hat
    GUICtrlSetData($Label1, "Du verfügst noch über " & $aTableData[5][2] & " EUR") ;nur Giro Konto

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

    While 1
    WEnd

    [/autoit]
  • Deutsche Bank: (getestet & verbessert von XP-User)

    [autoit]

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

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

    GUICreate("Norisbank", 210, 40)
    $Label1 = GUICtrlCreateLabel("Kontostand", 10, 10, 190, 50)
    Opt("GUIOnEventMode", 1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "OnExit")
    GUISetState()

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

    Func OnExit()
    Exit
    EndFunc

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

    GUICtrlSetData($Label1, "Kontostand wird abgefragt...")
    $oIE = _IECreate("https://meine.deutsche-bank.de/trxm/db/", 0, 0)
    $ffiliale = _IEGetObjById($oIE, "branch")
    $fkonto = _IEGetObjById($oIE, "account")
    $funterkonto = _IEGetObjById($oIE, "subAccount")
    $fpin = _IEGetObjById($oIE, "pin")

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

    $fsubmit = _IEGetObjById($oIE, "loginForm")

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

    $filiale = InputBox("filiale?", "Bitte geben Sie Ihre Filiale ein!", "", "")
    $konto = InputBox("konto?", "Bitte geben Sie Ihre Kontonummer ein!", "", "")
    $unterkonto = InputBox("unterkonto?", "Bitte geben Sie Ihre unterkonto ein!", "", "")
    $pin = InputBox("Pin?", "Bitte geben Sie Ihre Pin ein!", "","*")

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

    _IEFormElementSetValue($ffiliale, $filiale)
    _IEFormElementSetValue($fkonto, $konto)
    _IEFormElementSetValue($funterkonto, $unterkonto)
    _IEFormElementSetValue($fpin, $pin)
    _IEFormSubmit($fsubmit)
    _IELoadWait($oIE)

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

    $oTable = _IETableGetCollection($oIE, 1)
    $aTableData = _IETableWriteToArray($oTable)

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

    _IEImgClick($oIE, "Kunden-Logout", "name")
    _IEQuit($oIE)
    GUICtrlSetData($Label1, "Du verfügst noch über " & $aTableData[5][7] & " EUR") ;alle Konten die man hat
    ;GUICtrlSetData($Label1, "Du verfügst noch über " & $aTableData[5][2] & " EUR") ;nur Giro Konto

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

    While 1
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von Viperdriver2000 (10. Februar 2011 um 21:29)

  • Postbank:

    [autoit]

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

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

    GUICreate("Postbank", 210, 40)
    $Label1 = GUICtrlCreateLabel("Kontostand", 10, 10, 190, 50)
    Opt("GUIOnEventMode", 1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "OnExit")
    GUISetState()

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

    Func OnExit()
    Exit
    EndFunc

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

    GUICtrlSetData($Label1, "Kontostand wird abgefragt...")
    $oIE = _IECreate("https://banking.postbank.de/app/welcome.do", 0, 0)
    $fkonto = _IEGetObjById($oIE, "accountNumber")
    $fpin = _IEGetObjById($oIE, "pinNumber")

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

    $fsubmit = _IEGetObjByName($oIE, "loginForm")

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

    $konto = InputBox("konto?", "Bitte geben Sie Ihre Kontonummer ein!", "", "")
    $pin = InputBox("Pin?", "Bitte geben Sie Ihre Pin ein!", "","*")

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

    _IEFormElementSetValue($fkonto, $konto)
    _IEFormElementSetValue($fpin, $pin)
    _IEFormSubmit($fsubmit)
    _IELoadWait($oIE)

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

    $oTable = _IETableGetCollection($oIE, 0)
    $aTableData = _IETableWriteToArray($oTable)

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

    _IEImgClick($oIE, "Tastenkombination: Alt + b", "name")
    _IEQuit($oIE)
    GUICtrlSetData($Label1, "Du verfügst noch über " & $aTableData[2][1] & " EUR")

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

    While 1
    WEnd

    [/autoit]
  • Hallo,

    interessante Sammlung.

    Wie wäre es denn, anstatt zig InputBoxen mit dieser Funktion:
    https://autoit.de/index.php?page=Thread&amp;postID=119354
    das ergibt dann nur ein Fenster für die Eingabe z.B.

    Spoiler anzeigen
    [autoit]


    #include <_MultiInput.au3> ; oder wie auch immer ...

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

    ; .... programm ....
    $aLabels[5] = ["**Filiale:**","**Kontonummer:**", "**Unterkonto:**", "**PIN:**"]
    $aInputType[5] = [-1, -1, -1, 32] ; $ES_PASSWORD = 32

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

    $sValues = _MultiInput($aLabels, "Bitte Kundendaten eingeben:", $aInputType)
    If Not @error Then MsgBox(0, "", $sValues)

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

    ; ... usw ...

    [/autoit]

    Grüße
    Stilgar

  • Deutsche Bank funktioniert soweit, bis auf

    Spoiler anzeigen
    [autoit]

    GUICtrlSetData($Label1, "Du verfügst noch über " & $aTableData[5][8] & " EUR") ;alle Konten die man hat

    [/autoit]


    da gibt es ne Fehlermeldung.
    Ansonsten ein schönes Script, praktisch für unterwegs. :rock:

  • Fehler gefunden.
    (Alt)

    Spoiler anzeigen
    [autoit]

    GUICtrlSetData($Label1, "Du verfügst noch über " & $aTableData[5][8] & " EUR") ;alle Konten die man hat

    [/autoit]


    (Neu)

    Spoiler anzeigen
    [autoit]

    GUICtrlSetData($Label1, "Du verfügst noch über " & $aTableData[5][7] & " EUR") ;alle Konten die man hat

    [/autoit]

    mfg. :rofl:

  • ugt100
    vielleicht setz ich mich nächste woche mal dran.
    bräuchte dann aber:
    - quellcode von loginseite (schaffe ich noch selber)
    - quellcode vom eingeloggten zustand
    - screenshot vom login (ist für mich immer leichter den code zu finden)

    Stilgar
    wäre ne überlegung wert. guck ich mir mal an.

    XP-User
    danke fürs testen und verbessern.

  • ugt100
    sorry ne bisl spät aber besser als nie :D
    es muss noch ne bisl angepasst werden weil ich nen großen teil nicht testen kann und nur theoretisch eingefügt habe.

    Spoiler anzeigen
    [autoit]

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

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

    GUICreate("Santander", 210, 40) ; Fenstertitel
    $Label1 = GUICtrlCreateLabel("Kontostand", 10, 10, 190, 50)
    Opt("GUIOnEventMode", 1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "OnExit")
    GUISetState()

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

    Func OnExit()
    Exit
    EndFunc

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

    GUICtrlSetData($Label1, "Kontostand wird abgefragt...") ; "Ladebild"
    $oIE = _IECreate("https://pintan.santanderbank.de/", 0, 1) ; Login URL von der Bank
    $fname = _IEGetObjById($oIE, "customer_id") ; Feld für Loginname wird gesucht
    $fpin = _IEGetObjById($oIE, "pin") ; Feld für Pin wird gesucht
    $fsubmit = _IEGetObjById($oIE, "LoginPin") ; Loginbutton wird gesucht
    $name = InputBox("Zugangsnummer?", "Bitte geben Sie Ihre Loginnamen ein!", "", "") ; Loginname wird abgefragt
    $pin = InputBox("Pin?", "Bitte geben Sie Ihre Pin ein!", "","*") ; Pin wird abgefragt
    _IEFormElementSetValue($fname, $name) ; Loginfeld wird ausgefüllt
    _IEFormElementSetValue($fpin, $pin) ; Pinfeld wird ausgefüllt
    _IEFormSubmit($fsubmit) ; Login button wird geklickt
    _IELoadWait($oIE) ; Ladevorgang wird abgewartet
    ;Ab hier bin ich mir unsicher ob es geht. kann ich leider nicht testen...
    $fstatus = _IEGetObjById($oIE, "menuLink") ; Finanzstatusbutton wird gesucht
    _IEFormSubmit($fstatus) ; Finanzstatusbutton wird geklickt
    $oTable = _IETableGetCollection($oIE, 1)
    if $oTable = 0 then msgbox(0,"oTable-DEbug-Info", "Wert: " & $oTable & " Errorcode: " & @error) ; Schau in die Hilfe Was der Rückgabewert und der Errorcode bedeutet.
    $aTableData = _IETableWriteToArray($oTable)
    if $aTableData = 0 then msgbox(0,"aTableData-DEbug-Info", "Wert: " & $aTableData & " Errorcode: " & @error) ; Schau in die Hilfe Was der Rückgabewert und der Errorcode bedeutet.

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

    ; Sollte keine der Messageboxen erscheinen passt das obige. In diesem Fall liegt dein Problem bei der Ausgabe des Arrays, vermutlich verwendest du einen falschen Index, daher lass dir das komplette Array zunächst anzeigen:
    ;...
    _ArrayDisplay($aTableData) ; Die ganze Tabelle (Array) wird angezeigt. Kann später gelöscht werden wenn Zeile 39 stimmt.
    _IEImgClick($oIE, "Abmelden", "name") ; Logout button wird geklickt
    _IEQuit($oIE) ; IE wird geschlossen
    GUICtrlSetData($Label1, "Kontostand: " & $aTableData[3][4]) ; Zeigt den Kontostand an

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

    While 1
    WEnd

    [/autoit]

    Stilgar
    deins bekomme ich net gebacken :D
    raff ich net die funktion...

  • @Viperdriver2000:

    Warum? Ganz einfach z.B. für zwei Eingaben:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    $aTexts[2] = ["**Benutzer**", "**Passwort**"]
    $aInputSt[2] = [-1, 32] ; $ES_PASSWORD = 32

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

    $sValues = _MultiInput($aTexts, "Test", $aInputSt)
    If Not @error Then MsgBox(0, "", $sValues) ; das Ergebnis z.B. mit StringSplit zerlegen.

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

    Grüße
    Stilgar

  • da muss ich mich erst besser einlesen.

    ich bin nicht so der hammer programmierer ^^
    fällt mir noch alles etwas schwer.
    das meiste ist bei mit trial an error :D

  • Hallo zusammen,
    ich probier jetzt schon einige Zeit und bekomme beim Code für die Postbank immer Fehler in Zeile:
    GUICtrlSetData($Label1, "Du verfügst noch über " & $aTableData[2][1] & " EUR")

    Kann mir da jemand weiterhelfen?

    Dank euch!!!

    liebe Grüße

    Jürgen

  • @Jürgen Vogel
    Da ich selber kein postbankkonto habe kann ich es leider nicht testen.

    Ersetz mal Zeile 31 und 32 durch

    [autoit]

    $oTable = _IETableGetCollection($oIE, -1)
    if $oTable = 0 then msgbox(0,"oTable-DEbug-Info", "Wert: " & $oTable & " Errorcode: " & @error) ; Schau in die Hilfe Was der Rückgabewert und der Errorcode bedeutet.
    $aTableData = _IETableWriteToArray($oTable)
    if $aTableData = 0 then msgbox(0,"aTableData-DEbug-Info", "Wert: " & $aTableData & " Errorcode: " & @error) ; Schau in die Hilfe Was der Rückgabewert und der Errorcode bedeutet.
    _ArrayDisplay($aTableData)

    [/autoit]

    vielleicht kommst du dann ein wenig weiter


    Ich hänge auch gerade bei meinem comdirect script fest.
    Den login machen die jetzt über Java -,-
    Habe das jetzt mit der "Enter" Taste gelöst...naja

    Aber die Tabelle scheint jetzt auch anders zu sein.
    bekomme von "_IETableWriteToArray " immer "4 ($_IEStatus_InvalidObjectType) = Ungültiger Objekttyp" zurück.
    weiß leider nicht weiter...
    jemand einen tipp?

    gruß
    vip


  • Vielen lieben Dank für Deine Mühe!
    Ich seh schon, dass es schwieriger ist, als ich dachte.

    Liebe Grüße

    Jürgen

  • @Viperdriver2000

    Noch eine Frage: Warum verwendest Du nicht "Send" für die Eingaben?

    Dazu benötigt man auch die Feldbezeichnung nicht,

    Gruss Hans-Jürgen ^^