Benötigen Sie ein neues Automatisierungs-Framework

Ich habe ein Skript geschrieben, um mich bei einer Website anzumelden und Kundendaten in Form einer CSV-Datei mit dem Selenium-Paket für Python herunterzuladen. Leider hat die Website erst kürzlich ein Captcha zum Login hinzugefügt. Es würde mich nicht so sehr stören, da ich einen Teil des Codes hinzufügen könnte, der wartet, bis ich das Captcha löse, aber es dauert fast 10 Minuten, um es zu lösen. Ich dachte, ich könnte Selenium auf der Website starten, nachdem ich mich dort angemeldet habe, aber ich konnte keine Möglichkeit finden, Selenium mit einem bereits geöffneten Browser zu verbinden. Es scheint, dass die Verwendung von Selen das Captcha überhaupt erst auslöst, da die Anmeldung auf der Website ohne Probleme kein Problem darstellt. Ich suche nach einem anderen Framework, das vorzugsweise eine einfache Einrichtung hat und bereits geöffnete Browser automatisieren kann, sodass ich einen Browser manuell öffnen und dann den Code ausführen kann. Um zur csv-Datei zu gelangen,

Antworten (1)

Am besten verwenden Sie wahrscheinlich Tools, die Tastenanschläge und Mausklicks simulieren, sodass Ihr Skript nicht von menschlichen Eingaben zu unterscheiden ist. In der Regel benötigt ein solches Tool auch eine „visuelle Erkennung“, um bestimmte auftretende Situationen zu bewältigen. Ich spreche nicht von CAPTCHA, das für alle mir bekannten Automatisierungstools immer noch zu schwierig ist. Der Punkt ist, dass solche Tools in der Lage wären, Dinge zu tun, die Selenium nicht kann, und in Ihrem Fall CAPTCHA überhaupt nicht auslösen sollten, da sie denselben Browser verwenden würden, den Sie manuell verwenden.

Kantu sieht so aus, als würde es all dies tun. Beachten Sie, dass ich es nicht persönlich verwendet habe. Aber es scheint, als wäre es genau für die Art der Automatisierung entwickelt worden, die Sie versuchen.

SikuliX folgt einem ähnlichen Spielplan, wurde jedoch entwickelt, um alles auf dem Desktop zu automatisieren, nicht speziell den Browser. (Kantu war ursprünglich als Web-Automatisierungstool konzipiert, soll aber angeblich auch für den Desktop genutzt werden können.) Damit habe ich auch keine Erfahrung.

Es gibt eine verwandte Frage zu Stack Overflow, die möglicherweise eine oder zwei weitere Optionen bietet.

Was ich persönlich verwendet habe, ist AutoHotkey , das als eine Art Do-it-yourself-Sikuli dienen kann. Die "visuelle Erkennung" in AutoHotkey ist sehr rudimentär; Sie müssen viel tun, um Ihre eigenen Bilder zu erstellen, indem Sie Screenshots zuschneiden oder Pixel an bestimmten Koordinaten testen. Ich muss mir vorstellen, dass sowohl Kantu als auch SikuliX viel, viel einfacher zu bedienen sind, aber ich hatte das Gefühl, dass ich zumindest etwas einbeziehen sollte, mit dem ich persönliche Erfahrung habe. Der einzige Grund, warum ich keine Erfahrung mit Kantu oder SikuliX habe, ist, dass meine eigenen Automatisierungsanforderungen bisher ziemlich einfach waren und ich AutoHotkey bereits für Hotkeys und andere verschiedene Skripte außerhalb des Browsers verwendet habe.

Es gibt einen sehr groben Vergleich der drei Tools, die ich erwähnt habe. Es ist auf derselben Seite gepostet, die Kantu hostet, also können Sie vermuten, dass es Kantu bevorzugt, aber die dort präsentierten Informationen scheinen größtenteils fair zu sein.