selenium python tutorial
In diesem Selenium Python-Tutorial lernen Sie, wie Sie Selenium Test Script mit Python Programming Language in verschiedenen Webbrowsern codieren und ausführen:
In den letzten 5 Jahren hat die Python-Sprache in der Branche ein exponentielles Wachstum verzeichnet, hauptsächlich weil sie einfach und leicht zu erlernen ist. Selen ist eines der am häufigsten verwendeten Open-Source-Automatisierungstestwerkzeuge.
Überlegen Sie nun, Selenium mit Python zu kombinieren, und stellen Sie sich vor, wie robust ein Automatisierungsframework werden kann.
Was ist Funktionstest mit Beispiel
Empfohlene Lektüre => Python , Selen
In diesem Tutorial erfahren Sie, wie Sie Python installieren, Selenium-Bibliotheken mit Python verbinden und PyCharm IDE installieren und konfigurieren. Am Ende dieses Tutorials können Sie ein Selenium-Testskript mit der Programmiersprache Python in verschiedenen Webbrowsern codieren und ausführen.
Was du lernen wirst:
- Installation von Python
- Installieren Sie Selenium Libraries With Python
- Was ist PIP?
- Laden Sie Python IDE herunter und installieren Sie es
- Konfiguration von Selen in PyCharm
- Hinzufügen von Treibern zu PyCharm
- Erstes Programm mit Selenium Python
- Ausführen des Programms
- FAQs zu Selenium Python
- Fazit
- Literatur-Empfehlungen
Installation von Python
Die Installation von Python ist ziemlich einfach. Klicken Hier und laden Sie die neueste Version herunter. Sie erhalten eine EXE-Datei. Installieren Sie mit allen Standardeinstellungen.
>> Klicken Sie auf Hier Schritt für Schritt Details zum Installationsprozess.
Installieren Sie Selenium Libraries With Python
Wenn Sie Python installieren, werden Selenium-Bibliotheken nicht standardmäßig installiert. Um zu überprüfen, ob Selenium-Bibliotheken bereits in Ihrem Python vorhanden sind, öffnen Sie die Eingabeaufforderung, navigieren Sie zu dem Pfad, in dem Python installiert ist, und geben Sie ' Pip-Liste “. Dieser Befehl listet alle derzeit in Ihrem Python verfügbaren Bibliotheken auf.
Was ist PIP?
PIP steht für Preferred Installer Program. Es ist der beliebte Paketmanager, mit dem in Python geschriebene Softwarepakete installiert werden. PIP wird standardmäßig zusammen mit Python installiert. Um nun alle erforderlichen Selenium-Bibliotheken mit Python zu binden / zu installieren, müssen wir einen Befehl ausführen
Pip installieren Selen
Sobald Sie den Befehl ausführen, werden Selenium-Bibliotheken heruntergeladen und installiert.
Überprüfen Sie nun die Selenium-Bibliotheken mit Pip-Liste Befehl.
Laden Sie Python IDE herunter und installieren Sie es
Zum Schreiben und Ausführen von Skripten oder Programmen benötigen wir eine IDE. Daher wird die Auswahl derselben sehr wichtig. PyCharm ist eine der am meisten bevorzugten IDE, insbesondere für die Python-Sprache. Um PyCharm herunterzuladen, klicken Sie auf Hier und laden Sie die Community Edition herunter, die kostenlos und Open Source ist.
(Bild Quelle ))
Sie erhalten eine EXE-Datei. Fahren Sie fort und installieren Sie mit allen Standardeinstellungen.
Konfiguration von Selen in PyCharm
Gehen Sie nach erfolgreicher Installation zur Windows-Suche und geben Sie PyCharm ein. Die PyCharm-Community-Edition sollte wie in der folgenden Abbildung dargestellt angezeigt werden. Klicken Sie darauf, um PyCharm zu öffnen.
Bevor wir Code schreiben, müssen wir zuerst Selenium-Bibliotheken in PyCharm konfigurieren.
Es gibt zwei Möglichkeiten, Selenium für ein Projekt in PyCharm zu konfigurieren. Diese sind wie folgt:
# 1) Verwenden der verfügbaren Paketoption in PyCharm.
Wenn Sie PyCharm zum ersten Mal öffnen, werden Sie zum Fenster Neues Projekt erstellen navigiert.
Klicken Sie auf Neues Projekt erstellen. Standardmäßig wird der Name des Projekts als ohne Titel verwendet. Geben Sie einen geeigneten Projektnamen ein. Klicken Sie auf Erstellen.
Hinweis: Sie können den Speicherort des Projekts ändern.
Ihr Projekt wird erfolgreich erstellt. Um zu überprüfen, ob Selenium-Bibliotheken konfiguriert sind, gehen Sie zu Datei -> Einstellungen . In der Einstellungsseite gehen Sie zu Projekt -> Projektinterpreter .
Unter Pakete sollte das Selenium-Paket angezeigt werden. Wenn das fehlt, klicken Sie auf ' + ”In der rechten Ecke. Suchen Sie unter verfügbare Pakete nach Selen und klicken Sie auf Paket installieren. Überprüfen Sie nun, ob das Selenium-Paket installiert ist.
# 2) Verwenden der Option 'Von globalen Site-Paketen erben'
Diese Methode ist ziemlich einfach. Gehe zu Datei-> Neues Projekt . Wählen Sie beim Erstellen eines neuen Projekts die Option „ Erben Sie globale Site-Pakete Kontrollkästchen. Navigieren Sie nach dem Erstellen des Projekts zu Datei -> Einstellungen-> Projekt -> Projektinterpreter , Sie können das bereits installierte Selenium-Paket sehen.
Hinzufügen von Treibern zu PyCharm
Um eine Webanwendung zu automatisieren, benötigen wir einen Webbrowser und um anzuweisen, in welchem Browser die Skripte ausgeführt werden sollen, benötigen wir Treiber für diesen bestimmten Browser. Alle Treiber für Webbrowser sind verfügbar Hier . Öffnen Sie die Webseite und navigieren Sie zu Browser.
Klicke auf Dokumentation für die erforderlichen Browser und wählen Sie die stabile Version des Treibers.
Chrome herunterladen : Navigieren Sie zur Chrome-Dokumentation, klicken Sie unter 'Alle in Downloads verfügbaren Versionen' auf 'Aktuelle stabile Version' und laden Sie die für Ihr Betriebssystem geeignete Zip-Datei herunter.
Beispiel: 'Chromedriver_win32.zip' für Windows.
So laden Sie Firefox herunter: Navigieren Sie zur Firefox-Dokumentation, klicken Sie auf Geckodriver-Versionen und scrollen Sie nach unten, um die Treiber für alle Betriebssysteme zu finden.
Beispiel: Wählen Sie für Windows 64 aus geckodriver-v0.26.0-win64.zip.
So laden Sie Microsoft Edge herunter: Navigieren Sie zur Edge-Dokumentation. Dadurch wird die Treiberseite unter Downloads direkt geöffnet. Beispiel: x64 für Windows 64-Bit-Betriebssystem
Erstes Programm mit Selenium Python
Jetzt ist PyCharm bereit, Selenium-Code zu akzeptieren und auszuführen. Um gut organisiert zu sein, erstellen wir 2 Verzeichnisse (das Verzeichnis ähnelt einem Ordner). Wir werden ein Verzeichnis verwenden, um alle Testskripte zu platzieren. Nennen wir es 'Main' und das andere Verzeichnis, um alle Treiber des Webbrowsers zu platzieren. Nennen wir es 'Driver'.
Klicken Sie mit der rechten Maustaste auf das Projekt und erstellen Sie ein neues Verzeichnis (siehe Abbildung unten):
Erstellen Sie im Hauptverzeichnis eine neue Python-Datei. Dadurch wird eine .py-Datei erstellt und der Editor geöffnet.
Kopieren Sie nun den extrahierten EXE-Treiber. zum Beispiel, Chromedriver.exe und fügen Sie die Datei in das Treiberverzeichnis ein.
Wir sind jetzt bereit, unseren ersten Automatisierungscode mit Selenium Webdriver mit Python zu schreiben.
Definieren wir zunächst in der folgenden Tabelle die Schritte, die durch Automatisierung erreicht werden sollen.
bester VPN für China
Schritt | Aktion | erwartetes Ergebnis |
---|---|---|
7 | Geben Sie Benutzername und Passwort ein | Benutzername und Passwort sollten akzeptiert werden |
1 | Öffnen Sie den Chrome-Browser | Der Chrome-Browser sollte erfolgreich gestartet werden |
zwei | Navigieren Sie zu www.google.com | Die Google-Webseite sollte geöffnet sein |
3 | Maximieren Sie das Browserfenster | Das Browserfenster sollte maximiert werden |
4 | Geben Sie den LinkedIn-Login in das Google-Textfeld ein | Es sollte der richtige Text eingegeben werden |
5 | Drücken Sie die Eingabetaste | Die Suchseite sollte mit dem richtigen Ergebnis angezeigt werden |
6 | Klicken Sie auf die LinkedIn-Anmelde-URL | Die LinkedIn-Anmeldeseite sollte angezeigt werden |
8 | Klicken Sie auf die Schaltfläche Anmelden | Die LinkedIn-Homepage sollte angezeigt werden |
9 | Überprüfen Sie den Titel der Seite | LinkedIn sollte auf der Konsole angezeigt werden |
10 | Überprüfen Sie die aktuelle URL der Seite | https://www.linkedin.com/feed/ sollte auf der Konsole angezeigt werden |
elf | Schließen Sie den Browser | Das Browserfenster sollte geschlossen sein |
Um das oben erwähnte Szenario zu erreichen, werden wir einige der häufig verwendeten Selenium Python-Befehle verwenden.
Selenium.Webdriver Das Paket enthält alle Webdriver-Implementierungen. Daher müssen wir Python anweisen, Webdriver aus Selenium zu importieren. Mit der Keys-Klasse können wir die Tasten der Tastatur wie ENTER, ALT usw. verwenden.
from selenium import Webdriver from selenium.webdriver.common.keys import Keys
# 1) Öffnen Sie den Chrome-Browser
Um einen Browser zu öffnen, müssen wir eine Instanz dieses bestimmten Browsers erstellen. In diesem Beispiel erstellen wir eine Instanz von Chrome Webdriver und erwähnen auch den Speicherort von Chromedriver.exe. Vor einiger Zeit haben wir alle Browsertreiber heruntergeladen, extrahiert und in das Treiberverzeichnis in unserem PyCharm gestellt.
Klicken Sie mit der rechten Maustaste auf Chromedriver.exe und Kopieren Sie den absoluten Pfad und fügen Sie den Webdriver-Befehl wie unten angegeben ein.
driver = Webdriver.chrome('C:UsersAdminPyCharmProjectsSeleniumTestDriverschromedriver.exe')
# 2) Navigieren Sie zu www.google.com
Das driver.get Die Methode navigiert zu einer Seite, die in der URL angegeben ist. Sie müssen die vollständige URL angeben.
Beispiel: https://www.google.com
driver.get('https://www.google.com/')
# 3) Maximieren Sie das Browserfenster
driver.maximize_window maximiert das Browserfenster
driver.maximize_window()
# 4) Geben Sie den LinkedIn-Login in das Google-Textfeld ein
Um das LinkedIn-Login zu durchsuchen, müssen wir zuerst das Google-Suchtextfeld identifizieren. Selen bietet verschiedene Strategien zum Lokalisieren von Elementen auf einer Seite.
>> Siehe Hier Weitere Informationen zu Selenium WebDriver-Locators.
zu) Gehe zum Verknüpfung
b) Klicken Sie mit der rechten Maustaste auf das Suchtextfeld und wählen Sie Element prüfen.
c) Wir haben ein Namensfeld mit einem eindeutigen Wert 'q'. Also werden wir die verwenden find_element_by_name Locator zur Identifizierung des Suchtextfelds.
d) send_keys Mit dieser Funktion können wir beliebigen Text eingeben. Beispiel: 'LinkedIn Login'
ist) Gehe zu Pycharm und Geben Sie den folgenden Befehl ein:
driver.find_element_by_name('q').send_keys('LinkedIn Login')
# 5) Drücken Sie die Eingabetaste
Um zur Suchergebnisseite zu navigieren, müssen wir entweder auf die Schaltfläche Google-Suche klicken oder die Eingabetaste auf der Tastatur drücken. In diesem Beispiel erfahren Sie, wie Sie die Eingabetaste über Befehle drücken. Keys.Enter Der Befehl hilft beim Drücken der Eingabetaste auf der Tastatur.
driver.find_element_by_name('q').send_keys(Keys.Enter )
# 6) Klicken Sie auf die LinkedIn-Anmelde-URL
Sobald wir auf der Suchergebnisseite gelandet sind, müssen wir auf den LinkedIn Login Link klicken. Wir werden verwenden find_element_by_partial_link_text um das zu erreichen.
driver.find_element_by_partial_link_text('LinkedIn Login').click()
# 7) Geben Sie Benutzername und Passwort ein
Sowohl die Felder Benutzername als auch Passwort haben eindeutige ID-Werte und verwenden send_keys, um die Felder einzugeben.
driver.find_element_by_id('username').send_keys('enter your username') driver.find_element_by_id('password').send_keys('enter your password”)
# 8) Klicken Sie auf die Schaltfläche Anmelden
Die Anmeldung ist die einzige auf der Seite verfügbare Schaltfläche. So können wir den Tagname Locator verwenden, um zu identifizieren. find_element_by_tag_name.
driver.find_element_by_tag_name('button').click()
# 9) Überprüfen Sie den Titel der Seite
Der driver.title ruft den Titel der Seite ab und der Druckbefehl druckt den Titel der Webseite auf der Konsole. Stellen Sie sicher, dass Sie geschweifte Klammern () verwenden.
print(driver.title)
# 10) Überprüfen Sie die aktuelle URL der Seite
Das driver.current_url ruft die URL der Seite ab. drucken gibt die aktuelle URL auf der Konsole aus.
print(driver.current_url)
# 11) Schließen Sie den Browser
Schließlich wird das Browserfenster geschlossen driver.close .
driver.close()
Das vollständige Testskript finden Sie unten:
from selenium import webdriver from selenium.webdriver.common.keys import Keys Import time driver = webdriver.Chrome(r'C:UsersAdminPycharmProjectsSeleniumTestDriverschromedriver.exe') driver.get('https://www.google.com/') driver.maximize_window() driver.find_element_by_name('q').send_keys('LinkedIn login') driver.find_element_by_name('q').send_keys(Keys.ENTER) driver.find_element_by_partial_link_text('LinkedIn Login').click() driver.find_element_by_id('username').send_keys('enter your username') driver.find_element_by_id('password').send_keys('enter your password”) driver.find_element_by_tag_name('button').click() time.sleep(5) print(driver.title) print(driver.current_url) driver.close(
Hinweis: # wird verwendet, um die Zeile zu kommentieren.
time.sleep (sec) wird verwendet, um die Ausführung der nächsten Zeile zu verzögern.
Ausführen des Programms
Es gibt mehrere Möglichkeiten, das Programm auszuführen
# 1) Mit PyCharm IDE ausführen
Das ist einfach. Sobald Sie die Codierung abgeschlossen haben, können Sie einfach mit der rechten Maustaste auf den Editor klicken und auf 'Programmname' oder Strg + Umschalt + F10 drücken.
Nach der Ausführung wird das Ergebnis in der folgenden Konsole angezeigt. Lassen Sie uns nun unseren Beispielcode ausführen und die Ergebnisse überprüfen.
Syntaxfehler - Unicode-Fehler
bester mp3 downloader für android Handys
Nach dem Ausführen des Codes In der Konsole wird der folgende Fehler angezeigt.
Versuchen wir, dasselbe zu lösen. Das Problem liegt im Pfad des Chrome-Treibers. C: Benutzer Admin PyCharmProjects SeleniumTest Drivers chromedriver.exe
U. in C: Benutzer werden zu einem Unicode-Zeichen, und so wird U in ein Unicode-Escape-Zeichen konvertiert, wodurch der Pfad ungültig wird. Es gibt zwei Möglichkeiten, dies zu lösen.
#A) Fügen Sie zusätzliche Backslashes hinzu
driver = Webdriver.chrome('C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\chromedriver.exe')
#B) Stellen Sie dem String r voran:
Dadurch wird die Zeichenfolge als Rohzeichenfolge behandelt, und die Unicode-Zeichen werden nicht berücksichtigt
driver = Webdriver.chrome(r'C:UsersAdminPyCharmProjectsSeleniumTestDriversChromedriver.exe')
TypeError: Modulobjekt kann nicht aufgerufen werden
Führen Sie den Code erneut aus. Jetzt haben wir einen anderen Fehler in der Konsole.
Der Grund ist, wenn Sie schreiben Webdriver . Es werden 2 Optionen angezeigt Chrom (Selenium Webdriver ) und Chrome (Selenium.Webdriver.Chrome.Webdriver) Wie nachfolgend dargestellt.
Wir sollten Chrome (Selenium.Webdriver.Chrome.Webdriver) auswählen. Wenn Sie die vorherige Option auswählen, wird der Fehler im obigen Screenshot angezeigt.
Lassen Sie uns nun das Skript erneut ausführen. Diesmal lief es erfolgreich und druckte den Titel und die aktuelle URL der Webseite auf der Konsole.
Hinweis: Wenn Sie immer noch auf ein Problem stoßen. Versuchen Sie den folgenden Befehl:
driver = Webdriver.Chrome(executable_path= 'C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\chromedriver.exe')
# 2) Ausführen des Skripts in verschiedenen Browsern:
Um dasselbe Skript in einem anderen Browser auszuführen, müssen Sie nur die Instanz dieses bestimmten Browsers anstelle von Chrome im obigen Beispielcode erstellen.
Beispiel für einen Firefox-Browser: Ersetzen Sie Chrome wie unten gezeigt durch Firefox:
driver = Webdriver.Firefox(executable_path='C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\geckodriver.exe')
Ersetzen Sie Chrome für den Microsoft Edge-Browser wie unten gezeigt durch Edge:
driver = Webdriver.Edge(executable_path='C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\msedgedriver.exe')
# 3) Ausführen des Skripts an der Eingabeaufforderung:
Klicken Sie mit der rechten Maustaste auf das Verzeichnis, in das Sie Ihren Code geschrieben haben. Beispiel: 'Main', und kopieren Sie dann den absoluten Pfad. Öffnen Sie die Eingabeaufforderung und ändern Sie das Verzeichnis mit dem Befehl 'cd' in das Python-Verzeichnis. Klicken Sie mit der rechten Maustaste. Sobald das Verzeichnis geändert wurde, geben Sie Python 'Programmname' ein.
Python FirstTest.py
Der Code wird ausgeführt und das Ergebnis wird in der Eingabeaufforderung angezeigt.
FAQs zu Selenium Python
F # 1) Wofür wird Selenium Python verwendet?
Antworten: Eine große Anzahl von Programmierern hat begonnen, Selenium mit Python für die Testautomatisierung zu verwenden. Im Folgenden sind einige der Gründe aufgeführt:
- Für das Testen von Webanwendungen ist Selen das am häufigsten verwendete Automatisierungstool, das verschiedene Funktionen bietet. Diese Funktionen erfüllen die Anforderungen des Webanwendungstests.
- Die Python-Sprache wird immer beliebter, da sie weniger Syntaxprobleme aufweist und mit einem einfachen Schlüsselwort codiert werden kann.
- Selenium sendet unabhängig vom Browserdesign Standardbefehle von Python an verschiedene Browser.
- Die Bindung von Python und Selen bietet verschiedene APIs, mit denen Funktionstests geschrieben werden können.
- Sowohl Selenium als auch Python sind Open Source. So kann jeder es einfach herunterladen und in jeder Umgebung verwenden.
F # 2) Wie öffne ich Chrome in Selenium Python?
Antworten: Laden Sie den Chrome-Treiber von herunter Hier und extrahieren Sie die EXE-Datei. Geben Sie den vollständigen Pfad der EXE-Datei an, während Sie eine Instanz von Chrome Webdriver erstellen.
driver = Webdriver.Chrome('C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\Chromedriver.exe')
F # 3) Wie behebe ich einen Unicode-Fehler in Python?
Antworten: Es gibt zwei Möglichkeiten, dies zu lösen.
zu) Entweder müssen zusätzliche Backslashes hinzugefügt werden
driver = Webdriver.Chrome('C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\Chromedriver.exe')
b) Stellen Sie dem String r voran. Dadurch wird die Zeichenfolge als Rohzeichenfolge behandelt, und die Unicode-Zeichen werden nicht berücksichtigt.
driver = Webdriver.Chrome(r'C:UsersAdminPyCharmProjectsSeleniumTestDriversChromedriver.exe')
F # 4) Wie führe ich Firefox in Selenium Python aus?
Antworten: Laden Sie den Firefox-Geckodriver von herunter Hier und extrahieren Sie die EXE-Datei. Geben Sie beim Erstellen einer Instanz von den vollständigen Pfad der EXE-Datei an Firefox Webdriver.
driver = Webdriver.Firefox(executable_path='C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\geckodriver.exe'). driver.get(“ https://www.google.com ”)
Dadurch wird die Google-Webseite im Firefox-Browser geöffnet
F # 5) Wie bekomme ich Selen für Python?
Antworten: Öffnen Sie nach der Installation von Python die Eingabeaufforderung, ändern Sie das Verzeichnis in den Ordner, in dem Python vorhanden ist, und führen Sie die Pip-Installation Selenium aus. Dadurch werden Python die neuesten Selenium-Bibliotheken hinzugefügt.
C: Benutzer Admin AppData Local Programme Python Python38-32> Selenium installieren.
Sie finden die Selenium-Bibliotheken im Ordner Lib site-packages in Python.
Fazit
In diesem Tutorial haben wir die Grundlagen gelernt, die erforderlich sind, um das Skript mit Selenium Webdriver und Python zu schreiben. Nachfolgend sind die Grundlagen dieses Tutorials aufgeführt:
- Python und Selen haben sich als die von Programmierern am häufigsten verwendeten erwiesen. Daher stehen dafür viele Support-Dokumente zur Verfügung.
- Das Binden von Selenium-Bibliotheken mit Python kann nur mit einem einzigen Befehl erfolgen, um Selenium zu installieren.
- PyCharm ist die am häufigsten verwendete IDE, insbesondere für die Python-Sprache. Die Community Edition ist völlig kostenlos. Darüber hinaus stehen viele Pakete zur Verfügung, die beim Schreiben von Funktionstests helfen, und die Installation ist sehr einfach.
- Wir haben auch gelernt, wie Sie verschiedene Browsertreiber herunterladen und in Testskripten in PyCharm hinzufügen, damit wir unsere Anwendung im angegebenen Browser testen können.
- Wir haben verschiedene Selenium-Befehle gelernt, mit denen wir die Funktionen von Webanwendungen einfach automatisieren können.
- Wir haben auch das Testskript auf IDE und Eingabeaufforderung ausgeführt.
Literatur-Empfehlungen
- Python-Tutorial für Anfänger (KOSTENLOSES Python-Training zum Anfassen)
- Selenium Python Tutorial für Anfänger
- Einführung in Selenium WebDriver - Selenium Tutorial # 8
- 30+ beste Selen-Tutorials: Lernen Sie Selen anhand realer Beispiele
- Implementierung unseres ersten WebDriver-Skripts - Selenium WebDriver Tutorial # 10
- Cucumber Selenium Tutorial: Integration von Cucumber Java Selenium WebDriver
- Python DateTime Tutorial mit Beispielen
- Python-String-Funktionen