So erstellen Sie einen einfachen Auto-Login-Bot mit Python und Selen
Automatisierung ist zweifellos eine der begehrtesten Fähigkeiten, die ein Programmierer besitzen kann. Automatisierung wird normalerweise für Aufgaben verwendet, die repetitiv, langweilig, zeitaufwendig, oder andernfalls ineffizient ohne die Verwendung eines Skripts.
Mit Web-Automatisierung, Sie können leicht Erstellen Sie einen Bot, um verschiedene Aufgaben auszuführen B. im Internet, um konkurrierende Hotelpreise im Internet zu überwachen und den besten Preis zu ermitteln.
Persönlich habe ich immer gefunden Einloggen in meine E-Mail ziemlich repetitiv und langweilig, also für ein einfaches Beispiel, um euch zu bekommen begann mit der Webautomatisierung, lass uns ein implementieren automatisiertes Python-Skript zu Einloggen mit einem einzigen Klick auf ein Google Mail-Konto.
Installation und Einrichtung
In diesem Tutorial verwenden wir die folgende Werkzeuge:
- Python-Programmiersprache
- Google Chrome-Browser
- Selenium Browser Automation Toolkit
- Chrome Treiber-Webtreiber für Chrome
Für unser Programm verwenden wir speziell die Programmiersprache Python Version 2.7.11. Es ist wichtig, dass wir eine installieren ziemlich neue Version von Python 2 denn es kommt mit PIP, Dadurch können wir Pakete und Frameworks von Drittanbietern installieren, die zur Automatisierung unserer Skripts erforderlich sind.
Einmal installiert, starte deinen Computer neu damit die Änderungen wirksam werden. Verwenden Sie den Befehl pip installieren Selen
das hinzufügen Selenium Web Automation Toolkit zu Python. Mit Selen können Sie programmgesteuert scrollen, Text kopieren, Formulare ausfüllen und auf Schaltflächen klicken.
Laden Sie schließlich das herunter Selenium Chrome Driver ausführbare Datei, welches wird Öffnen Sie Google Chrome bei Bedarf zur Durchführung unserer automatisierten Aufgaben. Der Chrome-Treiber ist einfach eine Möglichkeit, Google Chrome (das bereits installiert sein sollte) zu öffnen Greifen Sie programmgesteuert auf Standard-Browser-Vorgänge zu.
Laden Sie einfach die neueste ZIP-Datei von hier herunter, extrahieren Sie die chromedriver.exe
ausführbar, und platzieren Sie die ausführbare Datei in einem beliebigen Verzeichnis. Notieren Sie sich, wo sich Ihre ausführbare Datei befindet, weil Wir werden es brauchen, sobald wir anfangen.
Programm starten
Wie bereits erwähnt, verwenden wir die Selenium Web Automation Framework damit Melden Sie sich programmgesteuert an. Die erste Ordnung des Geschäfts ist zu Importiere jedes Modul Wir benötigen die Selenium Python-Bibliothek, die wir bereits mit PIP installiert haben.
Lassen Sie uns IDLE oder einen anderen Code-Editor öffnen, Erstellen Sie eine neue Python-Datei mit .py
Erweiterung und Importieren Sie die folgenden Module:
von selenium import webdriver von selenium.webdriver.common.by importieren Durch von selenium.webdriver.support.ui importieren Sie WebDriverWait von selenium.webdriver.support. erwartet erwartete Bedingungen als EC
Als nächstes werden wir Erstellen Sie zwei Zeichenfolgen das repräsentieren unsere Benutzername und Passwort für das E-Mail-Konto. Achten Sie auf die Großschreibung, insbesondere in Ihrer Kennwortzeichenfolge.
usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Nun, da wir alles eingerichtet haben, um den Anmeldevorgang zu starten, müssen wir tatsächlich ein Browserfenster anweisen Öffnen Sie Google Chrome, und Navigieren Sie zur Anmeldeseite von Google Mail.
Wenn Sie dies noch nicht getan haben, vergewissern Sie sich, dass Ihr Python-Skript aktiviert ist gespeichert am selben Ort wie das chromedriver.exe
ausführbar wir haben früher extrahiert.
browser = webdriver.Chrome () browser.get (("https://accounts.google.com/ServiceLogin?" service = mail & continue = https: //mail.google ".com / mail / # bezeichner"))
Unser Element finden
Wir haben erfolgreich den Browser zum Öffnen von Google Mail erhalten, jetzt müssen wir jedoch Finde die Eingabefelder auf der Webseite, in die wir können Geben Sie unseren Benutzernamen und Ihr Passwort ein.
Dies können Sie einfach mit den integrierten Chrome Developer Tools durchführen. Wir müssen nur mit der rechten Maustaste auf die Eingabefelder klicken und das auswählen “Prüfen” Speisekarte.
Jetzt geht es nur noch darum mit HTML Ich würde
Attribute um die Elemente programmatisch zu finden.
Im folgenden Code sind wir einfach Suchen nach dem Eingabefeld Benutzername durch Ich würde
, und es füllen mit dem gewünschten Text. Dann sind wir Suche nach der Schaltfläche Weiter die mit einer kurzen Animation übergeht, bevor Sie nach dem Kennwort gefragt werden.
Das send_keys ()
und klicken()
Befehle tun genau so, wie es ihr Name vermuten lässt - send_keys ()
simuliert Tastendruck im gewünschten Element und klicken()
simuliert einen Mausklick.
# Geben Sie den Benutzernamen ein und klicken Sie auf die nächste Schaltfläche. username = browser.find_element_by_id ('Email') username.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
Wir können mach das selbe für das Passworteingabefeld sowie für die Schaltfläche Anmelden. Diese beiden Elemente werden jedoch auf der Seite angezeigt nur nach dem ein animierter Übergang.
Das heißt, wir brauchen das Programm dazu Warten Sie ein paar Sekunden bevor er seine Suche nach Elementen fortsetzt. In der Regel unterscheidet sich diese Codestufe nicht von der vorherigen. Wir müssen einfach den Browser dazu anweisen Warten Sie maximal 10 Sekunden bevor Sie den Kennworteintrag suchen.
# Warten Sie auf den Übergang, und füllen Sie die Elemente weiterhin aus. password = WebDriverWait (browser, 10) .bis (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = browser.find_element_by_id ('signIn' ) signInButton.click ()
Letzte Worte
Du bist gerade fertig einen bot erstellen , der eine Webseite besucht, Ihren Benutzernamen und Ihr Kennwort eingibt und Sie erfolgreich anmeldet, Automatisierung des gesamten Prozesses mit einem einzigen Klick. Ich weiß, dass dies eine einfache Demonstration war, aber die Möglichkeiten sind endlos.
In diesem Sinne, Achtung wie Sie diese Fähigkeit einsetzen. Einige Leute verwenden Bots und automatisierte Skripte, um Tausende von Malen zu Gewinnspielen einzugeben, wobei die Bedingungen und Konditionen völlig missachtet werden. Andere verwenden sie für böswillige Absichten.
Stellen Sie sicher, dass Sie die Automatisierung zielgerichtet und sorgfältig einsetzen, da es sich wirklich um ein System handelt viel benötigtes Geschick in der Programmiergemeinschaft!
Anmerkung des Herausgebers: Dies ist ein Beitrag für Hongkiat.com von Malik Brahimi. Malik ist ein Entwickler aus dem Großraum Boston und liebt Essen, Fußball und Programmieren (Lieblingssprache Python)..
- Quelle herunterladen