Comprobar si el elemento existe usando Selenium Python
Las herramientas de automatización como Selenium nos permiten automatizar procesos web y probar aplicaciones a través de diferentes lenguajes y navegadores. Python es uno de los muchos lenguajes que admite y es un lenguaje muy fácil.
Su cliente Python nos ayuda a conectarnos con los navegadores a través de las herramientas de Selenium. Las pruebas web son vitales para desarrollar aplicaciones web, pero más que eso, nos permiten automatizar procesos web.
Necesitamos acceder al código fuente y verificar ciertos elementos para automatizar dichos procesos.
Este artículo le muestra cómo verificar si un elemento existe en Selenium usando su cliente Python y API.
Use find_element()
para verificar si el elemento existe usando Selenium Python
Para hacer uso del cliente Selenium Python, necesitamos instalar su paquete a través de este comando pip
:
pip install selenium
Además del cliente de Python, necesitamos tener otras herramientas instaladas si vamos a usarlas, como ChromeDriver. Puede descargarlo e instalarlo con bastante facilidad.
Ahora, podemos usar el módulo Selenium
y su sección Excepción
para verificar si existe un elemento. Primero, usamos el módulo webdriver
para acceder al agente del navegador (Chrome) y usamos el método get()
para acceder a la página web que queremos verificar sus elementos.
Luego, use el método find_element()
y pase el argumento By.TAG_NAME
y el elemento que desea encontrar (por ejemplo, h2
). El método find_element()
utiliza la estrategia y el localizador By
para encontrar elementos.
En el siguiente código, usamos la estrategia By.TAG_NAME
para encontrar el elemento que queremos. También podemos usar By.CSS_SELECTOR
para buscar elementos.
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()
Producción :
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
Obtuvimos “Pague lo que quiera por esta colección de cursos de White Hat Hacking” como el contenido del elemento, pero es posible que observe una “Advertencia de desuso” alrededor de la “ruta_ejecutable”.
DeprecationWarning: executable_path has been deprecated, please pass in a Service object
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
Para lidiar con eso, necesitamos instalar el módulo webdriver-manager
para manejar las interacciones del navegador usando el comando pip
.
pip install webdriver-manager
Luego, importe el módulo a su código usando las declaraciones a continuación.
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service
Y use el atributo servicio
en lugar de ruta_ejecutable
, y pase los métodos Servicio()
y ChromeDriverManager()
al atributo servicio
.
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
Ahora, el código se convierte en:
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()
Producción :
[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
Debido a que es la primera vez que se ejecuta, es posible que vea la parte [WDM]
de la salida; de lo contrario, es solo el mensaje DevTools
y la salida de su código lo que debería estar visible. Con esto, puede verificar fácilmente si existe un elemento en Selenium usando su cliente Python.
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