Wie man einen einfachen Auto-Login Bot mit Python und Selenium erstellt
Automatisierung ist zweifellos eine der begehrtesten Fähigkeiten, die ein Programmierer besitzen kann. Automatisierung wird normalerweise für Aufgaben verwendet, die sich wiederholend, langweilig, zeitraubend oder anderweitig ineffizient sind, ohne ein Skript zu verwenden.
Mit der Web-Automatisierung können Sie auf einfache Weise einen Bot erstellen, um verschiedene Aufgaben im Internet auszuführen, z. B. um konkurrierende Hotelpreise im Internet zu überwachen und den besten Preis zu ermitteln.
Persönlich habe ich immer wieder festgestellt, dass die Anmeldung in meiner E-Mail ziemlich repetitiv und langweilig ist. Um ein einfaches Beispiel für die Automatisierung von Webinhalten zu erhalten, implementieren wir ein automatisiertes Python-Skript, um sich mit einem einzigen Klick bei einem Google Mail-Konto anzumelden .
Installation und EinrichtungIn diesem Tutorial werden wir die folgenden Tools verwenden :
- Python Programmiersprache
- Google Chrome-Browser
- Selenium Browser Automation Toolkit
- Chrome Driver-Webtreiber für Chrome
Für unser Programm verwenden wir die Programmiersprache Python, speziell die Version 2.7.11 . Es ist wichtig, dass wir eine ziemlich neue Version von Python 2 installieren, da es mit PIP geliefert wird. Dadurch können wir Pakete und Frameworks von Drittanbietern installieren, die wir zur Automatisierung unserer Skripts benötigen.
Starten Sie Ihren Computer nach der Installation neu, damit die Änderungen wirksam werden. Verwenden Sie den Befehl pip install selenium
, um das Selenium Web Automation Toolkit zu Python hinzuzufügen. Selenium ermöglicht es uns, programmgesteuert zu scrollen, Text zu kopieren, Formulare zu füllen und auf Schaltflächen zu klicken.
Laden Sie einfach die neueste ZIP-Datei von hier herunter, extrahieren Sie die ausführbare Datei " chromedriver.exe
und platzieren Sie die ausführbare Datei in einem beliebigen Verzeichnis. Achten Sie darauf, wo Ihre ausführbare Datei ist, da wir sie brauchen, sobald wir anfangen .
Starten des Programms
Wie bereits erwähnt, verwenden wir das Selenium Web Automation Framework, um sich programmtechnisch einzuloggen . Die erste Aufgabe besteht darin, jedes benötigte Modul aus der Selenium Python-Bibliothek, die wir mit PIP installiert haben, zu importieren.
Öffnen wir IDLE oder einen anderen Code-Editor, erstellen Sie eine neue Python-Datei mit der Erweiterung .py
und importieren Sie die folgenden Module :
von selen importieren Sie den webdriver von selen.webdriver.common.by import Von von selen.webdriver.support.ui importieren Sie WebDriverWait von selen.webdriver.support importieren Sie expected_conditions als EC
Als Nächstes erstellen wir zwei Zeichenfolgen, die unseren Nutzernamen und das Passwort für den E-Mail-Account darstellen. Achten Sie auf die Groß- / Kleinschreibung, insbesondere in Ihrer Passwort-Zeichenkette.
benutzernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Nachdem wir nun alles eingerichtet haben, um den Anmeldevorgang zu starten, müssen wir ein Browserfenster öffnen, um Google Chrome zu öffnen, und zur Anmeldeseite von Google Mail navigieren .
Wenn Sie dies noch nicht getan haben, vergewissern Sie sich, dass Ihr Python-Skript am selben Speicherort wie die chromedriver.exe
Datei chromedriver.exe
gespeichert ist, die wir zuvor extrahiert haben.
browser = webdriver.Chrome () browser.get ((https://accounts.google.com/ServiceLogin? '' service = mail & continue = https: //mail.google '' .com / mail / #bezeichner '))
Unser Element finden
Wir haben den Browser erfolgreich dazu gebracht, Google Mail zu öffnen, aber jetzt müssen wir die Eingabefelder auf der Webseite finden, in die wir unseren Nutzernamen und das Passwort eingeben können .
Mit den integrierten Chrome-Entwicklertools können wir dies problemlos durchführen. Wir müssen nur mit der rechten Maustaste auf die Eingabefelder klicken und das "Inspect" -Menü auswählen.
Jetzt geht es nur darum , HTML-id
Attribute zu verwenden, um die Elemente programmgesteuert zu finden.Im folgenden Code suchen wir einfach nach dem Eingabefeld für den Benutzernamen nach id
und füllen es mit dem gewünschten Text. Dann suchen wir nach dem Next-Button, der mit einer kurzen Animation übergeht, bevor wir nach dem Passwort gefragt werden.
Die send_keys()
und click()
tun genau so, wie es ihre Namen andeuten - send_keys()
simuliert die Tastatureingaben im gewünschten Element und click()
simuliert einen Mausklick .
# Geben Sie den Benutzernamen ein und drücken Sie die nächste Taste username = browser.find_element_by_id ('Email') username.send_keys (benutzernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
Dasselbe gilt für das Passwort-Eingabefeld sowie für die Schaltfläche Anmelden. Diese beiden Elemente werden jedoch erst nach einem animierten Übergang auf der Seite angezeigt .
Das heißt, wir müssen das Programm einige Sekunden warten, bevor wir die Suche nach Elementen fortsetzen. In den meisten Fällen unterscheidet sich diese Code-Stufe nicht von der vorherigen. Wir müssen lediglich den Browser anweisen, maximal 10 Sekunden zu warten, bevor er die Passworteingabe findet.
# warte auf den Übergang und fülle dann die Elemente password = WebDriverWait (Browser, 10) .until (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = browser.find_element_by_id ('signIn' ) signInButton.click ()
Letzte Worte
Sie haben gerade einen Bot erstellt, der eine Webseite besucht, Ihren Benutzernamen und Ihr Passwort eingibt und Sie erfolgreich anmeldet und den gesamten Vorgang mit einem einzigen Klick automatisiert . Ich weiß, das war eine einfache Demonstration, aber die Möglichkeiten sind endlos.
Achte dabei genau darauf, wie du diese Fertigkeit verwendest. Manche Leute benutzen Bots und automatisierte Skripte, um an Gewinnspielen tausende Male teilzunehmen, ohne die Bedingungen zu beachten. Andere benutzen sie für böswilligere Absichten.
Stellen Sie sicher, dass Sie die Automatisierung gezielt und sorgfältig einsetzen, da dies in der Programmierumgebung eine sehr wichtige Fähigkeit ist !
Anmerkung der Redaktion: Dies ist ein Beitrag von Malik Brahimi für Hongkiat.com. Malik ist ein Entwickler im Großraum Boston und liebt Essen, Fußball und Programmierung (Lieblingssprache Python).
- Quelle herunterladen
10 beste Windows-Suche Alternativen
Windows Search-Funktionen sind ein praktisches Tool, mit dem Sie auf einfache Weise das finden, was Sie in Ihrem System suchen. Es hat jedoch auch seine eigenen Nachteile, zum Beispiel sucht es nicht den Inhalt einer Datei und kann auch sehr langsam sein .Wenn die integrierte Suchfunktion es nicht schneidet, können Sie Windows 10 anpassen, indem Sie tolle Windows-Suchtools von Drittanbietern installieren.
Google Earth neu gestaltet - hier ist, was neu ist
Nach einer Woche hat Google endlich das neue und verbesserte Google Earth enthüllt . Das neue Google Earth, das jetzt sowohl im Webbrowser als auch auf Android-Geräten verfügbar ist, wird in Kürze mit einem iOS-Release verfügbar sein und eine Reihe neuer Funktionen enthalten, die das Navigieren auf dem digitalen Globus zu einer Freude machen .Hier