Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

WebDriver

WebDriver ist eine Fernsteuerungsschnittstelle, die eine Introspektion und Steuerung von Benutzeragenten ermöglicht. Sie bietet ein plattform- und sprachneutrales Drahtprotokoll als Methode für unabhängige Programme, das Verhalten von Webbrowsern aus der Ferne anzuweisen.

Die Möglichkeit, Anweisungssätze zu schreiben, die in vielen Browsern auf verschiedenen Plattformen austauschbar ausgeführt werden können, ist entscheidend, um den Benutzern ein konsistentes Erlebnis zu bieten. Mit der neuen Welle von Entwicklungen auf der Webplattform, der zunehmenden Vielfalt an Geräten und der Forderung nach echter Interoperabilität zwischen den Technologien bietet WebDriver Werkzeuge für das Cross-Browser-Testing.

Bereitgestellt wird ein Satz von Schnittstellen, um DOM-Elemente in Webdokumenten zu entdecken und zu manipulieren und um das Verhalten eines Benutzeragenten zu steuern. Es ist in erster Linie dafür gedacht, Webautoren zu ermöglichen, Tests zu schreiben, die einen Benutzeragenten aus einem separaten Steuerprozess automatisieren, kann aber auch für in-Browser-Skripte verwendet werden, um einen — möglicherweise separaten — Browser zu steuern.

Nutzung

Was können Sie also mit WebDriver machen und wie sieht das aus? Da WebDriver programmiersprachenneutral ist, hängt die Antwort auf diese Frage davon ab, welchen WebDriver-Client Sie verwenden und welche Sprache Sie wählen.

Aber wenn Sie einen populären Client verwenden, der in Python geschrieben ist, könnte Ihre Interaktion mit WebDriver so aussehen:

python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.expected_conditions import presence_of_element_located

with webdriver.Firefox() as driver:

    driver.get("https://google.com/ncr")
    wait = WebDriverWait(driver, 10)
    driver.find_element(By.NAME, "q").send_keys(f"cheese{Keys.RETURN}")
    wait.until(presence_of_element_located((By.XPATH, '//*[@id="rcnt"]')))
    results = driver.find_elements(By.XPATH, "//a[@href]")

    for i, elem in enumerate(results):
        print(f'#{i} {elem.text} ({elem.get_attribute("href")})')

Dies könnte eine Ausgabe wie diese erzeugen:

#1 Cheese - Wikipedia (https://en.wikipedia.org/wiki/Cheese)

Referenz

Durchsuchen Sie die vollständige WebDriver-Referenz Dokumentation.

WebDriver klassische Referenz

Befehle

Referenz für alle klassischen WebDriver-Befehle.

Fähigkeiten

Referenz für alle klassischen WebDriver-Fähigkeiten.

Fehler

Referenz für klassische WebDriver-Fehler.

Zeitüberschreitungen

Referenz für klassische WebDriver-Zeitüberschreitungen.

Spezifikationen

Siehe auch