Anmeldung bei einer Website mit Selenium Python bei einer Website an

Fariba Laiq 10 Oktober 2023
Anmeldung bei einer Website mit Selenium Python bei einer Website an

Manchmal möchten wir Aufgaben in einem Browser automatisieren, wie z. B. eine Anmeldung bei einer Website. Dies kann in Szenarien hilfreich sein, in denen wir Daten von Websites entfernen möchten, für die eine Anmeldung erforderlich ist.

Python bietet viele Pakete für die Webautomatisierung an, wie z. B. Selenium.

Anmeldung bei einer Website mit Selenium Python

Selenium ist ein leistungsstarkes Automatisierungs- und Testtool für Webbrowser. Wir schreiben Skripte, die die Kontrolle über den Webbrowser übernehmen und bestimmte Aktionen ausführen.

Installieren Sie Selenium und Chrome Webdriver

Um Selenium zu installieren, verwenden wir den folgenden Befehl.

#Python 3.x
pip install selenium

ChromeDriver ist eine weitere ausführbare Datei, die Selenium WebDriver verwendet, um mit Chrome zu interagieren. Wenn wir Aufgaben im Chrome-Webbrowser automatisieren möchten, müssen wir auch ChromeDriver installieren.

Basierend auf der Version des Chrome-Browsers müssen wir einen kompatiblen Treiber dafür auswählen. Im Folgenden sind die Schritte zum Installieren und Konfigurieren des Chrome-Treibers aufgeführt:

  1. Klicken Sie auf diesen Link. Laden Sie den Chrome-Treiber entsprechend der Version Ihres Chrome-Browsers und der Art des Betriebssystems herunter.
  2. Wenn Sie die Version Ihres Chrome-Browsers finden möchten, klicken Sie auf die drei Punkte in der oberen rechten Ecke von Chrome, klicken Sie auf Hilfe und wählen Sie Über Google Chrome. Sie können die Chrome-Version im Abschnitt Info sehen.
  3. Extrahieren Sie die ZIP-Datei und führen Sie den Chrome-Treiber aus.

Code für die automatische Anmeldung bei einer Website mit Selenium Python

Wir haben die WebDriver-Instanz im folgenden Code erstellt und den Pfad zum Chrome-Treiber angegeben. Dann haben wir der Treiberinstanz die URL der Ziel-Website angegeben. Es öffnet die Ziel-Website im gewünschten Browser.

Wir haben eine Dummy-E-Mail und ein Dummy-Passwort in den Variablen gespeichert, die wir später zum Anmelden verwenden werden. Um die Eingabe der E-Mail und des Passworts und das Klicken auf die Anmeldeschaltfläche zu automatisieren, müssen wir den Namen/die ID (welcher verfügbar ist) von diesen finden Web-Elemente.

Wir müssen die gewünschte Website im Browser öffnen, mit der rechten Maustaste auf das Element klicken und auf Element prüfen klicken. Hier sehen wir den HTML-Code, einschließlich des Namens des Elements.

Wir kopieren den Namen des Elements und übergeben ihn als Argument an die Methode find_element_by_name() mit der Instanz des Treibers. Wir werden den Vorgang für die verbleibenden zwei Elemente wiederholen.

Diese Methode gibt das Webelement zurück, das wir in Variablen speichern. Wir werden die Eingabe der E-Mail und des Passworts in die entsprechenden Felder automatisieren, indem wir die Methode sendkeys() verwenden.

Wir stellen nach dem Ausfüllen der Felder einen Timer von zwei Sekunden ein, damit der Benutzer durch eine Verzögerung im Vorgang beobachten kann, was passiert. Schließlich wird der Login-Button automatisch durch die click()-Methode angeklickt.

Beispielcode:

# Python 3.x
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.maximize_window()
driver.get("https://discpersonalitytesting.com/login-here/")
email = "myemail@email.com"
password = "mypassword1@23"
email_textfield = driver.find_element_by_name("email")
password_textfield = driver.find_element_by_name("password")
login_button = driver.find_element_by_name("LoginDAPLoginForm")
email_textfield.send_keys(email)
time.sleep(2)
password_textfield.send_keys(password)
time.sleep(5)
login_button.click()

Ausgabe:

Selen-Login

Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Verwandter Artikel - Python Selenium