Iniciar sesión en un sitio web usando Selenium Python

Fariba Laiq 10 octubre 2023
Iniciar sesión en un sitio web usando Selenium Python

En ocasiones, es posible que queramos automatizar tareas en un navegador, como iniciar sesión en un sitio web. Puede ser útil en escenarios en los que queremos extraer datos de sitios web que requieren inicio de sesión.

Python ofrece muchos paquetes para la automatización web, como Selenium.

Iniciar sesión en un sitio web usando Selenium Python

Selenium es una poderosa herramienta de automatización y prueba para navegadores web. Escribimos scripts que toman el control del navegador web y realizan 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.

Código para el inicio de sesión automatizado en un sitio web utilizando Selenium Python

Creamos la instancia de WebDriver en el siguiente código y especificamos la ruta al controlador de Chrome. Luego, hemos especificado la URL del sitio web de destino para la instancia del controlador. Se abrirá el sitio web de destino en el navegador deseado.

Hemos almacenado un correo electrónico y una contraseña ficticios en las variables que luego usaremos para iniciar sesión. elementos web

Tenemos que abrir el sitio web deseado en el navegador, hacer clic derecho en el elemento y hacer clic en Inspeccionar elemento. Aquí podemos ver el código HTML, incluido el nombre del elemento.

Copiaremos el nombre del elemento y lo pasaremos como argumento al método find_element_by_name() con la instancia del controlador. Repetiremos el proceso para los dos elementos restantes.

Este método devolverá el elemento web, que almacenaremos en variables. Automatizaremos la escritura del correo electrónico y la contraseña en sus campos correspondientes utilizando el método sendkeys().

Configuramos un temporizador de dos segundos después de completar los campos para que el usuario pueda observar lo que está sucediendo a través de un retraso en el proceso. Finalmente, el botón de inicio de sesión hará clic automáticamente mediante el método clic().

Código de ejemplo:

# 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(5)
login_button.click()

Producción:

Inicio de sesión de selenio

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