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:
- Haga clic en este enlace. Descargue el controlador Chrome según la versión de su navegador Chrome y el tipo de sistema operativo.
- 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.
- 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
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