Die Funktion send_keys() in Selenium Python

Rana Hasnain Khan 15 Februar 2024
  1. die send_keys()-Funktion in Selenium Python
  2. Eingabevalidierung mit der Funktion send_keys() in Selenium Python
  3. Löschen Sie Texte mit der Funktion send_keys() in Selenium Python
Die Funktion send_keys() in Selenium Python

Wir werden die Funktion send_keys() in Selenium Python vorstellen und ihre Verwendung demonstrieren.

Jede Anwendung muss einige Tests durchlaufen, bevor sie einen Markt erhält. Die Anwendung sollte zunächst alle Anforderungen erfüllen, die mit ihrem Namen verbunden sind.

Wir sollten Anwendungen umfassend testen, da niemand die genauen Eingaben für die Anwendung vorhersagt. Python Selenium kann uns helfen, alle wahrscheinlichen Ursachen zu testen.

send_keys() ist ein Prozess, bei dem Tastatureingaben wie Zahlen, Texte und Symbole an die Textfelder einer Anwendung gesendet werden. send_keys() ist ein Teil von WebDriver, und jede Tastatureingabe wird an dieses Element gesendet.

die send_keys()-Funktion in Selenium Python

Der erste Schritt bei dieser Methode besteht darin, die Webanwendung zu öffnen, die wir testen möchten. Wir können die Anwendung über ihre URL öffnen.

Warten Sie, bis die gesamte Seite erfolgreich geladen wurde, da der Test fehlschlägt, wenn es sich bei der Anwendung um einen dynamischen Typ handelt, aber die Webseite beim Anwenden des Tests nicht vollständig geladen wird.

Der nächste Schritt umfasst die Auswahl und Suche des gewünschten Elements, das an die Tastatureingaben gesendet wird. Dieses Element ist normalerweise ein Textfeld, in das der Benutzer schreiben kann.

Das Element kann eine Suchregisterkarte oder ein Formular sein. Wir können mehrere Optionen wie Element-ID, Elementname und XPath verwenden, um die Elemente zu finden.

Nach der Auswahl der Elemente werden Tastatureingaben mit der Methode send_keys gesendet. Wir können ein Element anhand der ID, des Klassennamens oder des xpath finden.

Die Syntax für jede Methode ist unten dargestellt.

# python
getElemById = driver.find_element_by_id("myId")
getElemByName = driver.find_element_by_name("myClass")
getElemByXPath = driver.find_element_by_xpath("//input[@id='myId']")

Die Hauptanwendung von send_keys() ist das Testen der Anwendung auf zahlreiche Eingaben. Es ist jedoch wichtig, sich mit den beiden Eingaben vertraut zu machen, die üblicherweise für diese Methode verwendet werden.

Eingabevalidierung mit der Funktion send_keys() in Selenium Python

Die meisten Anwendungen verfügen über ein Anmeldeformular, für das häufig die E-Mail-Adresse des Benutzers verwendet wird. Da wir alle wissen, dass jede E-Mail-Adresse eine Standardvorlage hat, die mit einem Benutzernamen beginnt, enthält das Symbol @, gefolgt vom Domänennamen.

Jetzt sollten wir den Prozess zur Validierung der E-Mail-Adresse hinzufügen.

Dadurch kann sich der Benutzer nicht bei der Anwendung anmelden, indem er eine ungültige E-Mail-Adresse in das Anmeldeformular eingibt. Die Validierung kann bestätigt werden, indem die Anwendung hinzugefügt und überprüft wird, indem die Eingaben gesendet werden, die nicht der Hauptvorlage folgen.

In diesen Prozess können auch zusätzliche Validierungen einfließen. Da das Passwort zum Anmelden bei der Anwendung einem bestimmten Satz von Regeln unterliegt, kann diese Validierung überprüft werden, indem Eingaben gesendet werden, die nicht den Regeln entsprechen.

Die in der Anwendung vorhandene Suchleiste sollte ebenfalls überprüft werden. Eine Suchleiste sollte die relevanten Ergebnisse anzeigen, um den Benutzer richtig zum gewünschten Suchelement zu führen.

send_keys() ist ein praktisches Tool, um die erwarteten Ergebnisse aus der Suchleiste zu überprüfen.

Einige Webanwendungen enthalten spezielle Funktionen, die vor der Veröffentlichung der App überprüft werden sollten. Ein Beispiel für eine spezielle Funktion ist Google Meet, das mit Strg+D das Mikrofon stumm oder laut schaltet.

Beispielcode:

# python
from selenium import webdriver

Chromedriver = webdriver.Chrome()

Chromedriver.get("https://www.google.com/")

getElemById = Chromedriver.find_element_by_name("gLFyf")

getElemById.send_keys("This is filed by Selenium send keys")

Ausgang:

Selen send_keys() - Beispiel 1

Wie Sie dem obigen Beispiel entnehmen können, können wir mit Hilfe der send_keys()-Methode von selenium beliebige Eingabefelder auf beliebigen Webseiten füllen.

Löschen Sie Texte mit der Funktion send_keys() in Selenium Python

Wir können auch die Werte von Schlüsseln mit derselben Funktion send_keys() bearbeiten und ändern. Lassen Sie uns ein Beispiel durchgehen, in dem wir den Wert der Eingabe ändern, und dann ändern wir ihn erneut.

In diesem Beispiel senden wir den Schlüssel; Nach 3 Sekunden Schlaf löschen wir 3 Buchstaben aus dem Schlüssel. Und am Ende ändern wir den Wert erneut, wie unten gezeigt.

Beispielcode:

# python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

link = "https://www.google.com/"

chromeDriver = webdriver.Chrome("C:\chromedriver.exe")

driverOptions = webdriver.ChromeOptions()

windowSize = chromeDriver.get_window_size()

chromeDriver.get(link)

getElemByName = chromeDriver.find_element_by_name("gLFyf")

getElemByName.send_keys("For test purpose")
time.sleep(3)

getElemByName.send_keys(3 * Keys.BACKSPACE)

time.sleep(3)

getElemByName.send_keys("testing second key")

time.sleep(3)

getElemByName.clear()

time.sleep(3)

chromeDriver.quit()

Erster Schritt:

Selen send_keys() - Beispiel 2 Erster Schritt

Zweiter Schritt:

Selen send_keys() - Beispiel 2 Zweiter Schritt

Dritter Schritt:

Selen send_keys() - Beispiel 2 Dritter Schritt

Probleme bei der Fehlerbehebung:

  1. Wir sollten sicherstellen, dass das ausgewählte Element aus den Tastatureingaben stammt.
  2. Die Identifizierung des Elements sollte mit der richtigen Referenz angegeben werden, um Komplikationen zu vermeiden.
  3. Befolgen Sie immer die richtige Methode: Suchen Sie das Element, klicken Sie auf das Element und senden Sie dann die Schlüssel.
  4. send_keys() kann fehlschlagen, wenn ein Element nicht aktiv oder außer Reichweite ist. Stellen Sie sicher, dass Sie diese Faktoren zählen, während Sie an einem bestimmten Element arbeiten.
Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

Verwandter Artikel - Python Selenium