Überprüfen Sie, ob das Element mit Selenium Python existiert
Automatisierungstools wie Selenium ermöglichen es uns, Webprozesse zu automatisieren und Anwendungen über verschiedene Sprachen und Browser zu testen. Python ist eine von vielen unterstützten Sprachen und eine sehr einfache Sprache.
Sein Python-Client hilft uns, uns über Selenium-Tools mit Browsern zu verbinden. Webtests sind für die Entwicklung von Webanwendungen von entscheidender Bedeutung, aber darüber hinaus ermöglichen sie uns die Automatisierung von Webprozessen.
Wir benötigen Zugriff auf den Quellcode und prüfen auf bestimmte Elemente, um solche Prozesse zu automatisieren.
Dieser Artikel zeigt Ihnen, wie Sie mithilfe des Python-Clients und der API überprüfen, ob ein Element in Selenium vorhanden ist.
Verwenden Sie find_element()
, um mit Selenium Python zu prüfen, ob das Element existiert
Um den Selenium-Python-Client nutzen zu können, müssen wir sein Paket über diesen pip
-Befehl installieren:
pip install selenium
Neben dem Python-Client müssen wir andere Tools installieren, wenn wir sie verwenden möchten, wie z. B. den ChromeDriver. Sie können es ziemlich einfach herunterladen und installieren.
Jetzt können wir das Modul Selenium
und dessen Abschnitt Exception
verwenden, um zu prüfen, ob ein Element existiert. Zuerst können wir das Modul webdriver
verwenden, um auf den Browseragenten (Chrome) zuzugreifen, und die Methode get()
verwenden, um auf die Webseite zuzugreifen, deren Elemente wir überprüfen möchten.
Verwenden Sie danach die Methode find_element()
und übergeben Sie das Argument By.TAG_NAME
und das Element, das Sie finden möchten (z. B. h2
). Die Methode find_element()
verwendet die By
-Strategie und den Locator, um Elemente zu finden.
Im folgenden Code verwenden wir die Strategie By.TAG_NAME
, um das gewünschte Element zu finden. Wir können auch By.CSS_SELECTOR
verwenden, um Elemente zu finden.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
driver.implicitly_wait(0.5)
driver.get("https://thehackernews.com/")
try:
element = driver.find_element(By.TAG_NAME, "h2")
hackHead = element.text
print("Element exist")
print(hackHead)
except NoSuchElementException:
print("Element does not exist")
driver.close()
Ausgang:
DeprecationWarning: executable_path has been deprecated, please pass in a Service object
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
DevTools listening on ws://127.0.0.1:57551/devtools/browser/dce0d9db-6c42-402e-8770-13999aff0e79
Element exist
Pay What You Want for This Collection of White Hat Hacking Courses
Wir haben Pay What You Want for This Collection of White Hat Hacking Courses
als Inhalt des Elements erhalten, aber Sie bemerken möglicherweise eine DeprecationWarning
um den executable_path
.
DeprecationWarning: executable_path has been deprecated, please pass in a Service object
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
Um damit fertig zu werden, müssen wir das Modul webdriver-manager
installieren, um Browserinteraktionen mit dem Befehl pip
zu verarbeiten.
pip install webdriver-manager
Importieren Sie anschließend das Modul mithilfe der folgenden Anweisungen in Ihren Code.
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service
Und verwenden Sie das Attribut service
anstelle von executable_path
und übergeben Sie die Methoden Service()
und ChromeDriverManager()
an das Attribut service
.
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
Jetzt wird der Code zu:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.implicitly_wait(0.5)
driver.get("https://thehackernews.com/")
try:
l = driver.find_element(By.TAG_NAME, "h2")
s = l.text
print("Element exist -" + s)
except NoSuchElementException:
print("Element does not exist")
driver.close()
Ausgang:
[WDM] - Downloading: 100%|████████████████████████████████████████████████████████████████████████████████████████████████| 6.29M/6.29M [00:03<00:00, 2.13MB/s]
DevTools listening on ws://127.0.0.1:57442/devtools/browser/2856cae0-e665-42c3-a20d-a847d52658c1
Element exist
Pay What You Want for This Collection of White Hat Hacking Courses
Da es das erste Mal ausgeführt wird, sehen Sie möglicherweise den Teil [WDM]
der Ausgabe; Andernfalls sollten nur die Meldung DevTools
und Ihre Codeausgabe sichtbar sein. Damit können Sie mithilfe des Python-Clients leicht überprüfen, ob ein Element in Selenium vorhanden ist.
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn