Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie Selenium WebDriver in Python

So verwenden Sie Selenium WebDriver in Python

PHPz
PHPznach vorne
2023-05-08 22:31:562288Durchsuche

Beginnen Sie mit Selenium WebDriver. Das Fahren des Browsers so, wie es ein Benutzer lokal oder auf einem Remote-Computer über einen Selenium-Server tun würde, markiert einen Sprung in der Browser-Automatisierung.

      Selenium WebDriver bezieht sich auf die Implementierung von Sprachbindungen und individuellen Browser-Steuercodes. Dies wird oft als WebDriver bezeichnet.
Selenium WebDriver ist eine W3C-Empfehlung.

WebDriver ist als einfache und übersichtliche Programmierschnittstelle konzipiert.

WebDriver ist eine einfache objektorientierte API.

  • Es steuert den Browser effektiv.

  • 2. Installieren Sie Selenium WebDriver

    Die in diesem Artikel verwendete Umgebung ist Python3.11 + Win10 64-Bit + Firefox-Browser In diesem Artikel verwendeter Browser Der Browsertreiber ist der Geckodriver von Firefox. Wenn Sie einen anderen Browser verwenden, wählen Sie einfach Ihren entsprechenden Browsertreiber.
  • 2.1 Selenium-Klassenbibliothek installieren

    Der einfachste Weg ist, sie direkt mit pip zu installieren
  • pip install selenium

#🎜 🎜 #2.2 Browsertreiber installieren

Über WebDriver unterstützt Selenium alle gängigen Browser auf dem Markt, wie Chrome, Firefox, Internet Explorer, Edge und Safari. WebDriver versucht, die integrierte Automatisierungsunterstützung des Browsers zu nutzen Treiber für das Surfen.

Da alle Treiberimplementierungen außer Internet Explorer von den Browserherstellern selbst bereitgestellt werden, sind diese Treiber nicht in der Standard-Selenium-Distribution enthalten. In diesem Abschnitt wird beschrieben, wie Sie verschiedene Grundanforderungen für verwenden Browser.

Öffnen Sie die folgende URL https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/install_drivers/

So verwenden Sie Selenium WebDriver in PythonSuchen Sie den Link zum Herunterladen des Browsertreibers Hier können Sie mehrere von Selenium unterstützte Browsertreiber sehen. Laden Sie einfach den entsprechenden Treiber für den auf Ihrem Computer installierten Browser herunter. Wählen Sie daher den Firefox-Treiber.

Klicken Sie auf den Firefox-Treiber-Download-Link und rufen Sie die Release-Seite von Github auf. Dieser Artikel ist Win10 64-. bit, ausgewählt Es ist geckodriver-v0.32.0-win-aarch74.zip. Wählen Sie einfach die entsprechende Datei entsprechend Ihrem System aus.

Nach der Dekomprimierung handelt es sich um eine ausführbare Datei, wie unten gezeigt:

So verwenden Sie Selenium WebDriver in Python

# 🎜 🎜#2.3 Umgebungsvariablen konfigurieren

Öffnen Sie „Arbeitsplatz“ -> „Eigenschaften“ -> „Erweiterte Systemeinstellungen“ -> „Umgebungsvariablen“, doppelklicken Sie auf den Pfad, klicken Sie auf „Neu“ und geben Sie das Verzeichnis ein, in dem sich der Treiber Geckodriver befindet. exe befindet sich. Das war’s, dann klicken Sie ganz auf „OK“.

So verwenden Sie Selenium WebDriver in Python

So verwenden Sie Selenium WebDriver in Python

Einfache Überprüfung, Neueröffnung A Konsole, geben Sie den Namen der Treiberdatei ein, hier ist geckodriver.exe, es kann normal geöffnet werden

So verwenden Sie Selenium WebDriver in Python

Natürlich gibt es einen wilden Weg, einfach ausgedrückt Kopieren Sie den Treiber direkt in den Ordner „Scripts“ in Ihrem Python-Verzeichnis und Sie können ihn direkt öffnen, wenn Sie das Python-Skript ausführen. Mein Verzeichnis lautet beispielsweise D:PythonPython311ScriptsSo verwenden Sie Selenium WebDriver in Python

3. Schreiben Sie das erste Selenium-Skript

So verwenden Sie Selenium WebDriver in PythonNachdem Sie die Selenium-Installation und die Treiberinstallation abgeschlossen haben, können Sie mit dem Schreiben von Selenium-Skripten beginnen.

Alles, was Selenium tut, ist, Befehle an den Browser zu senden, um bestimmte Aktionen auszuführen oder Informationsanfragen zu stellen. Die meisten Dinge, die Sie mit Selenium tun, sind eine Kombination der folgenden Grundbefehle:

# 🎜🎜#1. Öffnen Sie eine Sitzung mit einer Treiberinstanz

 driver = webdriver.Firefox()
So verwenden Sie Selenium WebDriver in Python2. Führen Sie Vorgänge im Browser aus.

In diesem Beispiel navigieren wir zu einer Webseite.#🎜 🎜#
 driver.get("https://www.selenium.dev/selenium/web/web-form.html")
#🎜 🎜#3. Browserinformationen anfordern

Sie können eine Reihe von Informationen über den Browser anfordern, einschließlich Fensterhandle, Browsergröße/-standort, Cookies, Warnungen usw.

 title = driver.title
#🎜🎜 #4 Erstellen Sie eine Wartestrategie

Das Synchronisieren Ihres Codes mit dem aktuellen Status des Browsers ist eine der größten Herausforderungen in Selenium, und es ist ein fortgeschrittenes Thema. Grundsätzlich möchten Sie sicherstellen, dass ein Element positioniert ist, bevor Sie es versuchen Position auf der Seite und das Element befindet sich in einem interaktiven Zustand, bevor Sie versuchen, mit ihm zu interagieren. Implizites Warten ist selten die beste Lösung, lässt sich aber hier am einfachsten demonstrieren

 driver.implicitly_wait(0.5)

5.发送命令 查找元素
大多数Selenium会话中的主要命令都与元素相关, 如果不先找到元素, 就无法与之交互

 text_box = driver.find_element(by=By.NAME, value="my-text")
 submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")

6.操作元素
对于一个元素, 只有少数几个操作可以执行, 但您将经常使用它们

 text_box.send_keys("Selenium")
 submit_button.click()

7.获取元素信息

 value = message.text

8.结束会话
这将结束驱动程序进程, 默认情况下, 该进程也会关闭浏览器. 无法向此驱动程序实例发送更多命令

 driver.quit()

让我们将这8个部分组合成一个完整的脚本, 包括需要使用的库

from selenium import webdriver
from selenium.webdriver.common.by import By
def test_eight_components():
    driver = webdriver.Firefox()

    driver.get("https://www.selenium.dev/selenium/web/web-form.html")

    title = driver.title
    assert title == "Web form"

    driver.implicitly_wait(0.5)

    text_box = driver.find_element(by=By.NAME, value="my-text")
    submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")

    text_box.send_keys("Selenium")
    submit_button.click()

    message = driver.find_element(by=By.ID, value="message")
    value = message.text
    assert value == "Received!"

    driver.quit()

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Selenium WebDriver in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen