abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Tool für Postbox-Sammeldownload (mit photoTAN, nutzt Comdirect API)

51 ANTWORTEN

Necoro
Mentor ★
1.070 Beiträge

@dsmr: You got a pull request Roboter (überglücklich)

dsmr
Autor ★★★
70 Beiträge

Noch ein Hinweis. Die 0.1 Sekunden Wartezeit zwischen den Downloads sind mit Absicht drin. Nicht, daß die Comdirect sonst eine DoS-Attacke vermutet und demnächst versucht, Scripte zu blocken. Bitte drinlassen.

Senshi
Autor ★★
15 Beiträge

"Aber mal im Ernst, Lizenzen sind dazu gut, eigene Rechte durchzusetzen oder Ansprüche andere abzuwehren. Was somit getan wäre. Nicht, daß ein Anwalt von Senshi mir noch eine Abmahnung schickt, weil ich ein paar Zeilen von ihm nach Python portiert habe."

 

Es geht nicht darum, dass ich oder sonstwer dich abmahnt (was ohnehin Unsinn wäre, da dein Code ja wirklich eigenständig entwickelt ist).

Bei Lizenzen geht es eben nicht nur darum, eigene Rechte durchzusetzen. Sie sind ein Ausdruck deines Willens, was mit deiner Entwicklung passieren darf.

Ohne Lizenz = "All Rights Reserved" (ARR). D.h. du stellst zwar den Quellcode online, aber schon die bloße Benutzung wäre verboten. "Open Source" heißt nicht gleich "freie Software". Ob man das nun rechtlich verfolgen kann oder nicht ist auch gar nicht unbedingt relevant. Für die Thematik sensible User und vor allem Devs werden ARR-Produkte nicht verwenden. Ist einfach ein Zeichen des Respekts der Arbeit und des Willens anderer.

blackmesa
Autor ★
4 Beiträge

Hi @Senshi,

 

mir ist aufgefallen, dass das PowerShell Skript (zumindest bei mir) ausschließlich gelesene PDFs runterlädt. Ich kann leider nicht erkennen woran es liegt.

 

Vielleicht findet jemand mit mehr Powershell-Kenntnissen eine Erklärung?

 

edit: Bin ein Stück weiter. Ich dachte zuerst, es läge am URL-Grabber, aber er findet sogar alle URLs, lädt dann aber nur die gelesenen herunter.

Press the number to select a user: : 1
You've selected MONAT
No right button found
8 files found on the server
1 : Downloaded BLABLABLA.pdf
2 : Downloaded Wertpapierabrechnung_BLABLABLA.pdf
3 : Downloaded Wertpapierabrechnung_BLABLABLABLA.pdf
4 : Downloaded Wertpapierabrechnung_BLABLABLABLA.pdf
4 new files downloaded

edit2: Ich hab das Problem inzwischen gefunden, kann es aber nicht selbst reparieren:

 

Die URLs von gelesenen und ungelesenen PDFs unterscheiden sich insofern, dass bei ungelesenen ganz hinten noch ein "?selectEntryId=" dranhängt. 

 

edit3: Repariert! (Stolzer Powershell Newbie) -> diese Zeile unter dem "foreach" einfügen.

$pdf = $pdf.split("?")[0]

Senshi
Autor ★★
15 Beiträge

Danke dir, Fix eingebaut 🙂 .

Felice
Autor
1 Beiträge

Ich habe die Powershell-Variante eingesetzt. Es erscheint folgender Fehler:

 

Ausnahme beim Aufrufen von "Click" mit 0 Argument(en): "element not interactable
(Session info: chrome=78.0.3904.97)"
In C:\Users\Felix\Downloads\ComdirectPostboxDownloader-2\Download.ps1:75 Zeichen:1
+ $ChromeDriver.FindElementById("f1-sucheStarten").Click()

 

Nach Ändern von "f1-sucheStarten" nach "f1-sucheStarten_sm" geht es.

 

Sehr angenehmes Tool!

StephanB.
Autor ★
8 Beiträge

Hallo Leute,

 

was mache ich falsch? Smiley (traurig)

Settings.ini ist ergänzt. Trotzdem folgende Fehlermeldung:

 

PS C:\Users\stephan\Documents\ComdirectPostboxDownloader> C:\Users\stephan\Documents\ComdirectPostboxDownloader\Download.ps1
Add-Type : Der Parameter "Path" kann nicht an das Ziel gebunden werden. Ausnahme beim Festlegen von "Path": "Der Pfad "C:\WebDriver.dll" kann nicht gefunden werden, da er nicht vorhanden ist."
Bei C:\Users\stephan\Documents\ComdirectPostboxDownloader\Download.ps1:4 Zeichen:15
+ Add-Type -Path <<<<  "$PSScriptRoot\WebDriver.dll" # Adding Selenium's .NET assembly (dll) to access it's classes in this PowerShell session
    + CategoryInfo          : WriteError: (:) [Add-Type], ParameterBindingException
    + FullyQualifiedErrorId : ParameterBindingFailed,Microsoft.PowerShell.Commands.AddTypeCommand
 
Add-Type : Der Parameter "Path" kann nicht an das Ziel gebunden werden. Ausnahme beim Festlegen von "Path": "Der Pfad "C:\WebDriver.Support.dll" kann nicht gefunden werden, da er nicht vorhanden ist."
Bei C:\Users\stephan\Documents\ComdirectPostboxDownloader\Download.ps1:5 Zeichen:15
+ Add-Type -Path <<<<  "$PSScriptRoot\WebDriver.Support.dll" # Adding Selenium's .NET assembly (dll) to access it's classes in this PowerShell session
    + CategoryInfo          : WriteError: (:) [Add-Type], ParameterBindingException
    + FullyQualifiedErrorId : ParameterBindingFailed,Microsoft.PowerShell.Commands.AddTypeCommand
 
New-Object : Der Typ [OpenQA.Selenium.Chrome.ChromeDriver] kann nicht gefunden werden. Stellen Sie sicher, dass die Assembly, die diesen Typ enthält, geladen wird.
Bei C:\Users\stephan\Documents\ComdirectPostboxDownloader\Download.ps1:6 Zeichen:27
+ $ChromeDriver = New-Object <<<<  OpenQA.Selenium.Chrome.ChromeDriver # Creates an instance of this class to control Selenium and stores it in an easy to handle variable
    + CategoryInfo          : InvalidType: (:) [New-Object], PSArgumentException
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
 
Get-Content : Der Pfad "C:\settings.ini" kann nicht gefunden werden, da er nicht vorhanden ist.
Bei C:\Users\stephan\Documents\ComdirectPostboxDownloader\Download.ps1:11 Zeichen:24
+ $settings = Get-Content <<<<  $PSScriptRoot\settings.ini | ConvertFrom-StringData
    + CategoryInfo          : ObjectNotFound: (C:\settings.ini:String) [Get-Content], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
 
New-Item : Der Pfad hat ein ungültiges Format.
Bei C:\Users\stephan\Documents\ComdirectPostboxDownloader\Download.ps1:20 Zeichen:9
+ New-Item <<<<  -Force -ItemType directory -Path $postBoxDir | Out-Null
    + CategoryInfo          : InvalidArgument: (C:\:String) [New-Item], ArgumentException
    + FullyQualifiedErrorId : CreateDirectoryArgumentError,Microsoft.PowerShell.Commands.NewItemCommand
 
Sie können keine Methode für einen Ausdruck mit dem Wert NULL aufrufen.
Bei C:\Users\stephan\Documents\ComdirectPostboxDownloader\Download.ps1:26 Zeichen:23
+ $ChromeDriver.Navigate <<<< ().GoToURL($comdirectURL)
    + CategoryInfo          : InvalidOperation: (Navigate:String) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
Sie können keine Methode für einen Ausdruck mit dem Wert NULL aufrufen.
Bei C:\Users\stephan\Documents\ComdirectPostboxDownloader\Download.ps1:29 Zeichen:32
+ $ChromeDriver.FindElementByName <<<< ("param1").SendKeys($settings.user)
    + CategoryInfo          : InvalidOperation: (FindElementByName:String) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
Sie können keine Methode für einen Ausdruck mit dem Wert NULL aufrufen.
Bei C:\Users\stephan\Documents\ComdirectPostboxDownloader\Download.ps1:30 Zeichen:32
+ $ChromeDriver.FindElementByName <<<< ("param3").SendKeys($settings.pass)
    + CategoryInfo          : InvalidOperation: (FindElementByName:String) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
Sie können keine Methode für einen Ausdruck mit dem Wert NULL aufrufen.
Bei C:\Users\stephan\Documents\ComdirectPostboxDownloader\Download.ps1:31 Zeichen:30
+ $ChromeDriver.FindElementById <<<< ("loginAction").Click()
    + CategoryInfo          : InvalidOperation: (FindElementById:String) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
Sie können keine Methode für einen Ausdruck mit dem Wert NULL aufrufen.
Bei C:\Users\stephan\Documents\ComdirectPostboxDownloader\Download.ps1:34 Zeichen:23
+ $ChromeDriver.Navigate <<<< ().GoToUrl("https://kunde.comdirect.de/itx/posteingangsuche")
    + CategoryInfo          : InvalidOperation: (Navigate:String) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 

Jippie
Autor ★
10 Beiträge

ist mir alles zu kompliziert und aufwändig - ich suche mir einfach eine andere Bank!

Julien
Autor
3 Beiträge

Hallo,

 

danke für das Tool. Leider bekomme ich immer eine Fehlermeldung. Ich denke es hängt mit der Angabe für den Ordner zusammen, wo die Dateien gespeichert werden müssen. Wie ist die richtige Syntax in der settings.ini für den Ordner?

 

Danke!

 

Line |
 116 |          wget $pdf -WebSession $session -OutFile $postBoxDir\$text
     |          ~~~~
     | The term 'wget' is not recognized as the name of a cmdlet, function, script file, or operable program.Check the spelling of the name, or if a path was included, verify that the path is correct and try
     | again.

Ihr Nickname
Experte ★★★
636 Beiträge

wget ist ein Kommandozeilen-Tool.

Unter welchem Betriebssystem willst Du das ausführen?

 

Kurz zustimmen zu Cookies und vergleichbaren Webtechnologien
Um Ihnen insbesondere ein optimales Website-Erlebnis zu bieten, werden mit Ihrer Einwilligung Cookies und Webtechnologien zu Funktions-, Statistik-, Komfort- und Marketingzwecken sowie zur Darstellung personalisierter Inhalte verwendet. Im Einzelnen sind dies (Details unter nachfolgenden Links):

Adobe Analytics: Reichweitenmessung zur Verbesserung des Nutzungserlebnisses der Website sowie Optimierung der Marketingkampagnen.

Adform: Aussteuerung und Optimierung von Werbemitteln, die durch Kunden von Adform geschaltet werden.

Adition: Aussteuerung und Optimierung von Werbemitteln, die durch Kunden von Adition geschaltet werden.

comdirect-Surfertracking: Optimierung und Aussteuerung nutzerbezogener Werbung, die von comdirect auf Drittseiten geschaltet wird

Community Umfrage: Aussteuerung von Umfragen für Besucher der comdirect community.

DoubleClick Floodlight: Analyse des Nutzerverhaltens zur Optimierung des Nutzungserlebnisses.

Meta: Nachverfolgung von Verhalten nach Klick auf Meta-Werbeanzeigen und Personalisierung von Meta-Werbung.

Google Ads: Nachverfolgung von Verhalten nach Klick auf Google-Werbeanzeigen und Personalisierung von Google-Werbung.

Personalisierte Angebote: Aussteuerung und Optimierung von personalisierten Werbeflächen im persönlichen Bereich.

Smartadverser: Aussteuerung und Optimierung von Werbemitteln, die durch Kunden von Smartadverser geschaltet werden.

Wenn Sie mindestens 16 Jahre alt sind, können Sie durch Klicken auf „Alle akzeptieren“ bestätigen, dass wir diese Webtechnologien verwenden dürfen. Anderenfalls klicken Sie auf „Alle verweigern“. Durch Klicken auf „Einzeln einstellen“ können Sie jederzeit Ihre Einwilligung widerrufen oder Ihre Einwilligungseinstellungen anpassen.

Hier finden Sie weitere Informationen zum Datenschutz und unser Impressum.