Finden Sie Elemente mit Selen in Python
- Finden Sie Elemente mit Selen in Python
-
Verwenden Sie die Funktion
find_elements_by_name()
, um Elemente mit Selen in Python zu finden -
Verwenden Sie die Funktion
find_elements_by_id()
, um Elemente mit Selen in Python zu finden -
Verwenden Sie die Funktion
find_elements_by_xpath()
, um Elemente mit Selen in Python zu finden -
Verwenden Sie die Funktion
find_elements_by_link_text()
, um Elemente mit Selen in Python zu finden -
Verwenden Sie die Funktion
find_elements_by_partial_link_text()
, um Elemente mit Selen in Python zu finden -
Verwenden Sie die Funktion
find_elements_by_tag_name()
, um Elemente mit Selen in Python zu finden -
Verwenden Sie die Funktion
find_elements_by_class_name()
, um Elemente mit Selen in Python zu finden -
Verwenden Sie die Funktion
find_elements_by_css_selector()
, um Elemente mit Selen in Python zu finden -
Verwenden Sie die Funktion
find_elements()
, um Elemente mit Selen in Python zu finden - Abschluss
Das Selenium-Paket in Python wird für die Automatisierung mit Webbrowsern verwendet; Es ist mit fast allen gängigen Browsern kompatibel. Wir können Skripte in Python schreiben, die einige Aufgaben in einem Browser automatisieren.
Dieses Tutorial zeigt verschiedene Methoden, um Elemente auf einer Webseite mit Selen in Python zu finden.
Finden Sie Elemente mit Selen in Python
Die Elemente sind die grundlegenden Konstrukte einer Webseite und werden verwendet, um ihre Struktur zu definieren. Wir können Elemente finden, die verschiedene Funktionen von Selen verwenden.
Diese Funktionen werden verwendet, um die Elemente anhand verschiedener Attribute wie name
, xpath
, id
und mehr zu finden. Wir werden die Methoden verwenden, um Elemente aus dem folgenden HTML-Dokument abzurufen.
<html>
<body>
<p class="content">Some text</p>
<a href="link.html"> Link_text </a>
<form id="some_form">
<input name="email" type="text" />
<input name="pass" type="password" />
</form>
</body>
</html>
Beachten Sie, dass, wenn es in keinem Fall Übereinstimmungen gibt, eine NoSuchElementException
-Ausnahme ausgelöst wird. Sie alle geben eine Liste der Elemente zurück, in denen die Übereinstimmung gefunden wird.
Die Methoden werden unten diskutiert.
Verwenden Sie die Funktion find_elements_by_name()
, um Elemente mit Selen in Python zu finden
Verschiedenen Elementen auf einer Webseite ist ein name
-Attribut zugeordnet. Wir können die Funktion find_elements_by_name()
verwenden, um die Liste der Elemente abzurufen, die mit dem Wert des Attributs name
übereinstimmen.
Siehe Code unten.
from selenium import webdriver
driver = webdriver.Chrome(r"C:/path/to/chromedriver.exe")
driver.get("https://www.sample.org/")
e = driver.find_element_by_name("email")
Lassen Sie uns den obigen Code verstehen.
- Wir importieren zuerst die Klasse
webdriver
, um den Browser für die Automatisierung zu erstellen. In unserem Fall verwenden wir diechromedriver.exe
für den Google Chrome-Browser. - Wir rufen die Website, von der wir die Elemente erhalten möchten, mit der Funktion
get()
ab. - Um die Liste der Elemente zu erhalten, verwenden wir die Funktion
find_element_by_name()
und geben den Wert für das Attributname
innerhalb der Funktion an.
Beachten Sie, dass der Code für alle unten beschriebenen Methoden gleich bleibt. Lediglich die Funktion zum Abrufen der Elemente (in diesem Fall find_element_by_name()
) ändert sich.
Verwenden Sie die Funktion find_elements_by_id()
, um Elemente mit Selen in Python zu finden
Das Attribut id
kann auch eine Liste von Elementen zurückgeben, die auf einer Webseite gefunden wurden. Dazu können wir die Funktion find_elements_by_id()
verwenden.
Zum Beispiel,
from selenium import webdriver
driver = webdriver.Chrome(r"C:/path/to/chromedriver.exe")
driver.get("https://www.sample.org/")
e = driver.find_element_by_id("some_form")
Verwenden Sie die Funktion find_elements_by_xpath()
, um Elemente mit Selen in Python zu finden
Wir können die Pfadausdrücke mit xpath
verwenden, um Knoten aus einem Dokument abzurufen. Um Elemente mit dem xpath
zu finden, können wir die Funktion find_elements_by_xpath()
verwenden.
Der Pfadausdruck wird in der Funktion angegeben.
Zum Beispiel,
from selenium import webdriver
driver = webdriver.Chrome(r"C:/path/to/chromedriver.exe")
driver.get("https://www.sample.org/")
e = driver.find_element_by_xpath("/html/body/form[1]")
Verwenden Sie die Funktion find_elements_by_link_text()
, um Elemente mit Selen in Python zu finden
Wir haben Elemente im Dokument, die auf andere Webseiten umleiten können. Dies wird mit dem Tag anchor
erreicht.
Mit der Funktion find_elements_by_link_text()
können wir die Elemente anhand des Linktextes abrufen.
Siehe Code unten.
from selenium import webdriver
driver = webdriver.Chrome(r"C:/path/to/chromedriver.exe")
driver.get("https://www.sample.org/")
e = driver.find_element_by_link_text("Link_text")
Verwenden Sie die Funktion find_elements_by_partial_link_text()
, um Elemente mit Selen in Python zu finden
Diese Funktion ähnelt der vorherigen. Der Unterschied besteht darin, dass es die Elemente zurückgibt, die mit dem Teiltext des Links übereinstimmen.
Zum Beispiel,
from selenium import webdriver
driver = webdriver.Chrome(r"C:/path/to/chromedriver.exe")
driver.get("https://www.sample.org/")
e = driver.find_element_by_partial_link_text("Link_")
Im obigen Beispiel können wir beobachten, dass wir das Element abrufen konnten, indem wir nur den teilweisen Linktext verwendeten.
Verwenden Sie die Funktion find_elements_by_tag_name()
, um Elemente mit Selen in Python zu finden
Jedes Element im HTML-Dokument hat einen Tag-Namen. Um Elemente anhand des Tag-Namens zu finden, können wir in Python das find_element_by_tag_name()
verwenden.
Siehe Code unten.
from selenium import webdriver
driver = webdriver.Chrome(r"C:/path/to/chromedriver.exe")
driver.get("https://www.sample.org/")
e = driver.find_element_by_tag_name("form")
Verwenden Sie die Funktion find_elements_by_class_name()
, um Elemente mit Selen in Python zu finden
Wir können die Funktion find_elements_by_class_name()
verwenden, um die Elemente abzurufen, die einem bestimmten class
-Attribut auf einer Webseite entsprechen.
Siehe Code unten.
from selenium import webdriver
driver = webdriver.Chrome(r"C:/path/to/chromedriver.exe")
driver.get("https://www.sample.org/")
e = driver.find_element_by_class_name("content")
Verwenden Sie die Funktion find_elements_by_css_selector()
, um Elemente mit Selen in Python zu finden
Wir können HTML-Elemente mit der CSS-Selektorsyntax formatieren. Die CSS-Selektorsyntax kann auch verwendet werden, um die Elemente mit der Funktion find_elements_by_css_selector()
zu finden.
Siehe folgendes Beispiel.
from selenium import webdriver
driver = webdriver.Chrome(r"C:/path/to/chromedriver.exe")
driver.get("https://www.sample.org/")
e = driver.find_element_by_css_selector("p.content")
Verwenden Sie die Funktion find_elements()
, um Elemente mit Selen in Python zu finden
Die Funktion find_elements()
ist eine private Methode, die Elemente aus dem HTML-Dokument abrufen kann. Es ist wie der Höhepunkt aller zuvor besprochenen Methoden.
Wir können alle vorherigen Attribute als Parameter verwenden, um die Elemente zu finden.
Zum Beispiel,
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome(r"C:/path/to/chromedriver.exe")
driver.get("https://www.sample.org/")
e = driver.find_elements(By.NAME, "email")
Das obige Beispiel findet die Elemente mit dem Attribut name
wie zuvor.
Abschluss
Wir haben verschiedene Methoden besprochen, um Elemente basierend auf verschiedenen Attributen mit Selen in Python zu finden. Jedes Attribut hat seine Funktion.
Wir können auch die private Methode find_elements
verwenden und verschiedene Attribute als Parameter übergeben. Beachten Sie außerdem, dass die Methoden in diesem Artikel eine Liste von Elementen für alle möglichen Übereinstimmungen zurückgeben.
Wenn wir nur ein Element finden müssen, können wir in jeder besprochenen Funktion Elemente
durch element
ersetzen. Zum Beispiel wird find_elements
zu find_element
.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn