Métodos de elementos web en Selenium Python

Fariba Laiq 10 octubre 2023
  1. Instalar Selenium y Chrome WebDriver
  2. Métodos de elementos web en Selenium Python
Métodos de elementos web en Selenium Python

Selenium es una poderosa herramienta de automatización y prueba para navegadores web. Escribimos scripts usando Selenium, que controla el navegador web y realiza acciones específicas.

Instalar Selenium y Chrome WebDriver

Para instalar Selenium, usamos el siguiente comando.

#Python 3.x
pip install selenium

ChromeDriver es otro ejecutable que utiliza Selenium WebDriver para interactuar con Chrome. Si queremos automatizar tareas en el navegador web Chrome, también necesitamos instalar ChromeDriver.

Según la versión del navegador Chrome, debemos seleccionar un controlador compatible para él. Los siguientes son los pasos para instalar y configurar el controlador de Chrome:

  1. Haga clic en este enlace. Descargue el controlador Chrome según la versión de su navegador Chrome y el tipo de sistema operativo.
  2. Si desea encontrar la versión de su navegador Chrome, haga clic en los tres puntos en la esquina superior derecha de Chrome, haga clic en Ayuda y seleccione Acerca de Google Chrome. Puedes ver la versión de Chrome en la sección acerca de.
  3. Extraiga el archivo zip y ejecute el controlador de Chrome.

Métodos de elementos web en Selenium Python

Un elemento web es un elemento HTML en el sitio web. Puede ser un campo de texto, un botón, una barra de desplazamiento, etc.

Es algo con lo que queremos interactuar, como hacer clic, llenar un campo de texto, etc. Una vez que obtenemos un elemento web en Python, podemos aplicar muchos métodos a ese elemento proporcionado por Selenium.

Por ejemplo, tenemos el siguiente elemento web en HTML.

<input type="text" name="email" id="email_id" />

Usamos el siguiente fragmento de código para ubicar un elemento web usando su name.

element_tf = driver.find_element_by_name("email")

O bien, si lo localizamos por su id, utilizaremos este método.

element_tf = driver.find_element_by_id("email_id")

Después de obtener el elemento, podemos aplicarle muchos métodos. Algunos de los métodos ampliamente utilizados y su descripción son los siguientes.

Método de elemento Descripción
click() Hace clic en cualquier elemento.
clear() Borra cualquier texto de un campo de texto.
send_keys() Introduce el texto en los campos de texto.
text Obtiene el texto del elemento actual.
screenshot() Toma una captura de pantalla del elemento actual y la guarda como un archivo PNG.
submit() Envíe los datos del formulario después de que terminemos de ingresar los detalles.
location Obtiene la ubicación del elemento actual.
size Devuelve el tamaño del elemento.
tag_name Devuelve el nombre de la etiqueta del elemento actual.
is_selected() Devuelve un valor booleano que indica si el elemento está seleccionado o no.
is_displayed() Devuelve un valor booleano que indica si el elemento es visible para el usuario en pantalla o no.
get_property() Devuelve la propiedad del elemento como la propiedad text_length del texto ancla.
get_attribute() Devuelve el atributo del elemento, como el atributo href de la etiqueta de anclaje.

Código que demuestra métodos de elementos web

Hemos utilizado algunos de los métodos anteriores en el siguiente código. Obtenemos los campos de texto email y password y el botón de inicio de sesión por sus nombres utilizando el método find_view_by_name().

Ingresamos el correo electrónico y la contraseña ficticios usando el método send_keys() y borramos el campo password usando el método clear(). Hemos extraído el texto, la ubicación y el nombre de la etiqueta del botón de inicio de sesión utilizando los métodos text, location y tag_name.

Hemos comprobado si el botón de inicio de sesión está seleccionado y se muestra utilizando los métodos is_selected() y is_displayed(). Finalmente, hemos hecho clic en el botón de inicio de sesión utilizando el método click().

# 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()

Producción :

Login
{'x': 251, 'y': 499}
False
True
button

Métodos de elementos

Fariba Laiq avatar Fariba Laiq avatar

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

Artículo relacionado - Python Selenium