Cómo crear un bot de inicio de sesión automático simple con Python y Selenium

Automatización es sin duda una de las habilidades más deseables que un programador puede poseer. La automatización se usa típicamente para tareas que son repetitivo, aburrido, lentoo de otro modo ineficaz sin utilizar un script.

con automatización webtu puedes fácilmente crear un bot para realizar varias tareas en la web, por ejemplo, para monitorear precios de hoteles competitivos en Internet y determinar el mejor precio.

Personalmente, siempre he encontrado iniciar sesión en mi correo electrónico bastante repetitivo y aburrido, así que por el bien de un ejemplo simple para entenderte comenzó con la automatización webapliquemos un secuencia de comandos Python automatizada a iniciar sesión con un clic a una cuenta de Gmail.

Iniciar sesión en Gmail
Instalación y configuración

En este tutorial usaremos las siguientes herramientas:

  1. Pitón lenguaje de programación
  2. Google Chrome navegador
  3. Selenio kit de herramientas de automatización del navegador
  4. controlador de cromo controlador web para cromo

Para nuestro programa usaremos Pitón lenguaje de programación, en particular versión 2.7.11.Es sumamente importante que instalemos un Una versión relativamente nueva de Python 2 porque viene con PEPITAlo que nos permitirá instalar paquetes y frameworks de terceros que necesitaremos para automatizar nuestros scripts.

Una vez instalada, reinicia tu computadora para que los cambios surtan efecto, use el comando pip install selenium agregar Selenio un conjunto de herramientas de automatización web a Python Selenium nos permitirá desplazarnos programáticamente, copiar texto, completar formularios y hacer clic en botones.

Instalar selenio

finalmente descargar Controlador de selenio para Chrome Archivo ejecutableque lo hará abrir Google Chrome según sea necesario para realizar nuestras tareas automatizadas. El controlador de Chrome es simplemente una forma de abrir Google Chrome (que ya debería estar instalado) para acceder a las operaciones estándar del navegador mediante programación.

Simplemente descargue el archivo ZIP más reciente de la aquírecuperar chromedriver.exe archivo ejecutable y colóquelo en cualquier directorio. No olvides anotar dónde está tu ejecutable porque lo necesitaremos una vez que empecemos.

iniciar el programa

Como se mencionó anteriormente, usaremos Selenio marco de automatización web a iniciar sesión mediante programaciónlo primero es si importar cada módulo Necesitaremos la biblioteca Selenium Python que instalamos anteriormente con PIP.

Vamos a abrir VACÍO u otro editor de código, crear un nuevo archivo de Python con .py extensión y importar los siguientes módulos:


 from selenium import webdriver
 from selenium.webdriver.common.by import By
 from selenium.webdriver.support.ui import WebDriverWait
 from selenium.webdriver.support import expected_conditions as EC

A continuación, haremos crear dos cadenas quienes nos representan nombre de usuario y contraseña para la cuenta de correo electrónico Preste atención a las mayúsculas, especialmente en la cadena de la contraseña.


 usernameStr="putYourUsernameHere"
 passwordStr="putYourPasswordHere"

Ahora que tenemos todo configurado para iniciar el proceso de inicio de sesión, debemos indicarle a una ventana del navegador que abrir Google Chromey ir a la página de inicio de sesión de Gmail.

Si aún no lo ha hecho, asegúrese de que su secuencia de comandos de Python esté guardado en el mismo lugar que chromedriver.exe Archivo ejecutable tiramos antes.


 browser = webdriver.Chrome()
 browser.get(('https://accounts.google.com/ServiceLogin?'
 'service=mail&continue=https://mail.google'
 '.com/mail/#identifier'))
Encontrar nuestros artículos

Conseguimos que el navegador abra Gmail con éxito, pero ahora tenemos que hacerlo encontrar los campos de entrada en la página web donde podemos ingrese nuestro nombre de usuario y contraseña.

Podemos hacer esto fácilmente usando las herramientas de desarrollo integradas de Chrome. Solo necesita hacer clic derecho en los campos de entrada y seleccionar el menú "Inspeccionar".

Buscar un elemento en Herramientas para desarrolladores

ahora solo es cuestion de usando HTML id atributos para encontrar los elementos programáticamente.

En el siguiente código, simplemente estamos busque el campo de entrada de nombre de usuario de idy llenándolo con el texto deseado. Entonces estamos Buscando El siguiente botón que pasa por una animación rápida antes de solicitarnos la contraseña.

El send_keys() y click() los comandos hacen exactamente lo que sugieren sus nombres: send_keys() simula pulsaciones de teclas en el elemento deseado y click() simula un clic del ratón.


 # fill in username and hit the next button
 username = browser.find_element_by_id('Email')
 username.send_keys(usernameStr)
 nextButton = browser.find_element_by_id('next')
 nextButton.click()

podemos hacer lo mismo para el campo de entrada de contraseña, así como para Inscribirse Sin embargo, estos dos elementos se muestran en la página. solo después transición animada.

Dicho esto, necesitamos el programa. espera unos segundos antes de reanudar su búsqueda de artículos. En su mayor parte, esta etapa del código no difiere del anterior. Solo necesitamos indicarle al navegador que esperar un máximo de 10 segundos antes de encontrar la contraseña ingresada.


 # wait for transition then continue to fill items
 password = WebDriverWait(browser, 10).until(
 EC.presence_of_element_located((By.ID, 'Passwd')))
 password.send_keys(passwordStr)
 
 signInButton = browser.find_element_by_id('signIn')
 signInButton.click()
palabras de cierre

acabas de terminar creando un bot quien visita una página web, ingresa su nombre de usuario y contraseña e inicia sesión con éxito, automatizando todo el proceso un clic Sé que esta fue una demostración simple, pero las posibilidades son infinitas.

En la misma nota, ten cuidado sobre cómo usas esta habilidad. Algunas personas usan bots y scripts automatizados para participar en sorteos miles de veces, ignorando por completo los términos y condiciones. Otros los usan para propósitos más maliciosos.

Solo recuerde usar la automatización con un propósito y con cuidado porque realmente es un una habilidad muy necesaria en la comunidad de programación!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir