Webelement-Methoden in Selenium Python
Selenium ist ein leistungsstarkes Automatisierungs- und Testtool für Webbrowser. Wir schreiben Skripte mit Selenium, das den Webbrowser steuert und bestimmte Aktionen ausführt.
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.
Je nach 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:
- Klicken Sie auf diesen Link. Laden Sie den Chrome-Treiber entsprechend der Version Ihres Chrome-Browsers und der Art des Betriebssystems herunter.
- 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. - Extrahieren Sie die ZIP-Datei und führen Sie den Chrome-Treiber aus.
Webelementmethoden in Selenium Python
Ein Webelement ist ein HTML-Element auf der Website. Dies kann ein Textfeld, eine Schaltfläche, eine Bildlaufleiste usw. sein.
Es ist etwas, mit dem wir interagieren möchten, z. B. einen Klick ausführen, ein Textfeld ausfüllen usw. Sobald wir ein Webelement in Python erhalten, können wir viele Methoden auf dieses von Selenium bereitgestellte Element anwenden.
Zum Beispiel haben wir das folgende Webelement in HTML.
<input type="text" name="email" id="email_id" />
Wir verwenden das folgende Code-Snippet, um ein Webelement anhand seines Namens
zu finden.
element_tf = driver.find_element_by_name("email")
Oder, wenn wir es anhand seiner id
lokalisieren, verwenden wir diese Methode.
element_tf = driver.find_element_by_id("email_id")
Nachdem wir das Element erhalten haben, können wir viele Methoden darauf anwenden. Einige der weit verbreiteten Verfahren und ihre Beschreibung sind wie folgt.
Elementmethode | Beschreibung |
---|---|
click() |
Klickt auf ein beliebiges Element. |
clear() |
Löscht jeglichen Text aus einem Textfeld. |
send_keys() |
Gibt den Text in die Textfelder ein. |
text |
Ruft den Text des aktuellen Elements ab. |
screenshot() |
Erstellt einen Screenshot des aktuellen Elements und speichert ihn als PNG-Datei. |
submit() |
Senden Sie die Daten des Formulars, nachdem wir die Eingabe der Details abgeschlossen haben. |
location |
Ruft die Position des aktuellen Elements ab. |
size |
Gibt die Größe des Elements zurück. |
tag_name |
Gibt den Namen des Tags des aktuellen Elements zurück. |
is_selected() |
Gibt einen booleschen Wert zurück, der angibt, ob das Element ausgewählt ist oder nicht. |
is_displayed() |
Gibt einen booleschen Wert zurück, der angibt, ob das Element für den Benutzer auf dem Bildschirm sichtbar ist oder nicht |
get_property() |
Gibt die Eigenschaft des Elements wie die Eigenschaft text_length des Ankertexts zurück. |
get_attribute() |
Gibt das Attribut des Elements zurück, beispielsweise das Attribut href des Anchor-Tags. |
Code, der Webelementmethoden demonstriert
Wir haben einige der oben genannten Methoden im folgenden Code verwendet. Wir erhalten die Textfelder email
und Passwort
sowie den Login-Button anhand ihrer Namen mit der Methode find_view_by_name()
.
Wir haben die Dummy-E-Mail und das Passwort mit der Methode send_keys()
eingegeben und das Feld password
mit der Methode clear()
gelöscht. Wir haben den Text, den Ort und den Tag-Namen der Anmeldeschaltfläche mit den Methoden text
, location
und tag_name
extrahiert.
Ob der Login-Button ausgewählt und angezeigt wird, haben wir mit den Methoden is_selected()
und is_displayed()
geprüft. Schließlich haben wir mit der Methode click()
auf den Login-Button geklickt.
# 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(3)
password_textfield.clear()
password_textfield.send_keys(password)
time.sleep(2)
print(login_button.text)
print(login_button.location)
print(login_button.is_selected())
print(login_button.is_displayed())
print(login_button.tag_name)
login_button.click()
Ausgabe:
Login
{'x': 251, 'y': 499}
False
True
button
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