Die Funktion getAttribute() in Selenium Python
-
die
getAttribute()
-Funktion in Selenium Python -
Vorteile der Funktion
getAttribute()
in Selenium Python
Das Python-Modul für Selenium wurde entwickelt, um einen automatisierten Testprozess bereitzustellen. Die Selenium-Python-Bindungen enthalten eine einfache API zum Schreiben von Selenium WebDriver-Funktions-/Akzeptanztests.
Die Fähigkeit, sich zu bewegen, ist nicht sehr vorteilhaft. Wir wollen mit den Seiten interagieren, genauer gesagt mit den HTML-Stücken, die aus einer Seite bestehen.
Dieser Artikel erklärt die Verwendung der Methode getAttribute()
von Selenium.
die getAttribute()
-Funktion in Selenium Python
Die Methode getAttribute()
kann Elementeigenschaften abrufen, wie z. B. das href
-Attribut eines Anchor-Tags. Diese Funktion versucht zunächst, den Wert einer angegebenen Eigenschaft zurückzugeben.
Existiert keine solche Eigenschaft, wird der gleichnamige Wert des Attributs zurückgegeben. Es wird jedoch keine zurückgegeben, wenn in einem Element keine Attribute vorhanden sind.
Was ist ein Attribut
Ein Attribut in HTML definiert die Eigenschaften eines Elements. Attribute bestehen aus Name-Wert-Paarungen, was bedeutet, dass jedes Attribut einen Wert und einen Namen hat.
Ihre Werte sind in doppelte Anführungszeichen eingeschlossen und werden im öffnenden Tag bereitgestellt. Zu den HTML-Attributen gehören:
< a target="_blank" href="#" class="btn" >
<img src="#" class="image" alt="myImage" >
< input style="height:50px;" class="form-control" type="email" placeholder="Enter email" name="emailAddress" id="emailAddress" >
< button onclick="#" class="btn" value="" >Login< /button >
Wie im obigen Beispiel erhalten HTML-Tags eine Vielzahl von Eigenschaften und Werten. Zum Beispiel hatte das Tag input
viele Attribute wie class
, style
, placeholder
, type
, name
und id
.
Für jede Eigenschaft gibt es eine Zahl in doppelten Anführungszeichen. Nachdem wir nun verstanden haben, was ein Attribut für ein HTML-Webelement bedeutet oder wie es aussieht, wollen wir prüfen, warum die Methode getAttributes()
nützlich ist.
Vorteile der Funktion getAttribute()
in Selenium Python
Stellen Sie sich eine Situation vor, in der wir den Platzhalterinhalt in einem Eingabefeld, die Bildquelle und die Feldgröße überprüfen müssen. Die Methode getAttribute()
löst dieses Problem in dieser Situation.
Um den Wert eines Attributs zu erhalten, suchen Sie das Webelement, das es enthält, und verwenden Sie die Methode getAttribute()
.
Lassen Sie uns die Syntax dieser Methode in einem realen Beispiel diskutieren, wie unten gezeigt.
# python
GetElem.get_attribute("href")
Wie Sie der obigen Syntax entnehmen können, versuchen wir, das Attribut href
zu erhalten. Lassen Sie uns nun ein funktionierendes Beispiel zum Abrufen von Werten mit der Methode getAttribute()
durchgehen, nachdem wir die grundlegende Syntax für ihre Verwendung gelernt haben.
Um ein einfaches Testskript zu entwickeln, verwenden wir eine Dummy-Website. Schauen wir uns ohne weiteres Herumprobieren den Anwendungsfall an, bevor wir zum Code übergehen:
- Wir gehen zuerst zur Dummy-Site.
- Auf dem Homepage-Frontend erhalten wir das
href
-Attribut eines Links. - Wir erhalten auch das Attribut
src
eines Bildes.
Sehen wir uns nun den Code für diesen Anwendungsfall an.
Beispielcode:
# python
from selenium import webdriver
chromeDriver = webdriver.Chrome()
chromeDriver.get("https://www.inventicosolutions.com/")
getElemByLink = chromeDriver.find_element_by_link_text("About Us")
print(getElemByLink.get_attribute("href"))
getElemByClass = chromeDriver.find_element_by_xpath(
"/html/body/main/div/div[1]/section[1]/div/div/div/div[7]/div/img"
)
print(getElemByClass.get_attribute("src"))
Ausgang:
Wie wir im obigen Beispiel sehen können, können wir mit der Methode getAttribute()
jedes Attribut aus einem HTML-Tag abrufen. Diese Methode kann uns beim Web Scraping helfen, bestimmte Daten von einer Website zu erhalten, z. B. Links und Bilder.
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