Está en la página 1de 7

Cómo construir un bot de inicio de

sesión automático simple con


Python y Selenium
https://www.hongkiat.com/blog/automate-create-login-bot-python-selenium/

La automatización es sin duda una de las habilidades más


codiciadas Programador puede poseer. La automatización se utiliza
normalmente para tareas que son repetitivas, aburridas, que
consumen mucho tiempoo que no son ineficientes sin el uso de un
script.
Con la automatización web,puede crear fácilmente un bot para
realizar diferentes tareas en la web, por ejemplo, para Monitor
ANUNCIO

 tarifas de hoteles a través de Internet y determinar el mejor precio.

Personalmente, siempre he encontrado el inicio de sesión en mi


correo electrónico bastante repetitivo y aburrido, así que por un
simple ejemplo para que ustedes comiencen con la automatización
web,implementemos un script automatizado de Python para iniciar
sesión con un solo clic en una cuenta de Gmail.
Lea también: Paquetes de Python para desarrolladores web – Lo mejor de

Instalación y configuración

En este Tutorial vamos a utilizar las siguientes herramientas:

1. Lenguaje de programación Python


2. Navegador Google Chrome
3. Kit de herramientas de automatización de navegadores
de selenio
4. Controlador web de Chrome Driver para Chrome
Para nuestro programa, utilizaremos el lenguaje de
programación Python, específicamente la versión 2.7.11. Es
fundamental que instalemos una versión bastante nueva de Python
2 porque viene con PIP,lo que nos permitirá instalar paquetes y
frameworks de terceros que necesitaremos para automatizar nuestros
scripts.
Una vez instalado, reinicie el equipo para que los cambios surtan
efecto. Utilice el comando para agregar el kit de herramientas de
automatización web de Selenium a Python. Selenium nos permitirá
desplazarnos, copiar texto, rellenar formularios y hacer clic en los
botones mediante programación.pip install selenium

Finalmente descargue el ejecutable selenium Chrome Driver , que


abrirá Google Chrome según sea necesario para realizar nuestras
tareas automatizadas. El controlador de Chrome es simplemente una
manera 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


desde aquí,extraiga el ejecutable y coloque el ejecutable en cualquier
directorio. Asegúrese de tomar nota de dónde está su ejecutable,
porque lo necesitaremos una vez que comamos.chromedriver.exe

Inicio del programa

Como se mencionó anteriormente, vamos a utilizar el marco de


automatización web Selenium con el fin de iniciar sesión mediante
programación. El primer orden de negocio es importar todos los
módulos que necesitaremos de la biblioteca de Selenium Python que
instalamos ealier con PIP.

Abramos IDLE u otro editor de código, cree un nuevo archivo


Python con extensión e importe los siguientes módulos:.py

1from selenium import webdriver


2from selenium.webdriver.common.by import By

3from selenium.webdriver.support.ui import WebDriverWait

4from selenium.webdriver.support import expected_conditions as EC

A continuación, crearemos dos cadenas que representan


nuestro 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 contraseña.

1usernameStr = 'putYourUsernameHere'

2passwordStr = 'putYourPasswordHere'

Ahora que tenemos todo configurado para iniciar el proceso de inicio


de sesión, necesitamos indicar realmente una ventana del navegador
para abrir Google Chrome,y navegar a la página de inicio de
sesión de Gmail.

Si aún no lo ha hecho, asegúrese de que la secuencia de comandos


de Python se guarda en la misma ubicación que el
ejecutable chromedriver.exe que extrajimos anteriormente.

1browser = webdriver.Chrome()

2browser.get(('https://accounts.google.com/ServiceLogin?'

3             'service=mail&continue=https://mail.google'

4             '.com/mail/#identifier'))

Encontrar nuestro elemento

Hemos conseguido con éxito el navegador para abrir Gmail, pero


ahora necesitamos encontrar los campos de entrada en la página
web, en el que podemos introducir nuestro nombre de usuario
y contraseña.

Podemos hacerlo fácilmente usando las herramientas de desarrollo de


Chrome integradas. Sólo tenemos que hacer clic con el botón derecho
en los campos de entrada y seleccionar el menú "Inspeccionar".
Ahora es sólo cuestión de usar atributos de identificador HTML para
encontrar los elementos mediante programación.

En el código siguiente, simplemente estamos buscando el campo de


entrada de nombre de usuario por id, y llenarlo con el texto
deseado. A continuación, estamos buscando el
botón  Siguiente  que realiza la transición con una animación rápida
antes de solicitarnos la contraseña.

Los comandos y hacen exactamente lo que sus nombres


sugieren: simula pulsaciones de teclas en el elemento deseado y
simula un clic del ratón.send_keys()click()send_keys()click()

1# fill in username and hit the next button

2username = browser.find_element_by_id('Email')

3username.send_keys(usernameStr)

4nextButton = browser.find_element_by_id('next')
nextButton.click()
5

Podemos hacer lo mismo para el campo de entrada de contraseña,


así como para el botón Iniciar  Sesión.  Sin embargo, estos dos
elementos aparecen en la página solo después de una transición
animada.

Dicho esto, necesitamos que el programa espere unos


segundos antes de reanudar su búsqueda de elementos. En su
mayor parte, esta etapa del código no es diferente de la anterior.
Simplemente tenemos que indicar al navegador que espere un
máximo de 10 segundos antes de localizar la entrada de contraseña.
1# wait for transition then continue to fill items

2password = WebDriverWait(browser, 10).until(

3    EC.presence_of_element_located((By.ID, 'Passwd')))

4password.send_keys(passwordStr)

6signInButton = browser.find_element_by_id('signIn')
signInButton.click()
7

Palabras finales

Acaba de terminar de crear un bot que visita una página web,


introduce su nombre de usuario y contraseña, e inicia sesión
correctamente, automatizando todo el proceso con un solo clic. Sé
que fue una simple demostración, pero las posibilidades son infinitas.

En esa misma nota, ten cuidado con cómo usas esta habilidad.


Algunas personas utilizan bots y scripts automatizados para participar
en sorteos miles de veces, sin tener en cuenta los términos y
condiciones. Otros los utilizan para intenciones más maliciosas.

Sólo asegúrese de utilizar la automatización con propósito y cuidado,


porque realmente es una habilidad muy necesaria en la comunidad
de programación!

Nota del editor: Esta es una publicación escrita


para Hongkiat.com por Malik Brahimi. Malik es un desarrollador
ubicado en el área metropolitana de Boston, y ama la comida, el fútbol
y la programación (lenguaje favorito Python).

Descargar fuente: https://github.com/hongkiat/autologinbot/

README.md

Bot de inicio de sesión automático con


Python y Selenium
Crea un sencillo bot de inicio de sesión automático para iniciar sesión en las cuentas de
Gmail.

Tenga en cuenta que debe descargar la versión más reciente de ChromeDrivery colocar el
ejecutable en la misma carpeta que .login.py
Código de login.py

de selenium import webdriver


del selenio. webdriver. común. por importación por

del selenio. webdriver. apoyo. ui import WebDriverWait

del selenio. webdriver. apoyar expected_conditions de importación como CE

usernameStr á 'putYourUsernameHere'

passwordStr á 'putYourPasswordHere'

navegador : webdriver. Chrome()

navegador. obtener(('https://accounts.google.com/ServiceLogin?''service-
mail&continue-https://mail.google' '.com/mail/#identifier'))

• Rellene el nombre de usuario y pulse el botón siguiente

nombre de usuario : navegador. find_element_by_id('identifierId')

nombre de usuario. send_keys(usernameStr)

nextButton - browser. find_element_by_id('identifierNext')

nextButton. haga clic()

. esperar la transición y continuar rellenando los elementos

contraseña: WebDriverWait(navegador, 10). hasta que(CE.


presence_of_element_located((Por. NOMBRE, "contraseña"))

contraseña. send_keys(passwordStr)

signInButton - browser. find_element_by_id('passwordNext')

signInButton. haga clic()

del selenio. webdriver. apoyar expected_conditions de importación como CE

usernameStr á 'putYourUsernameHere'
passwordStr á 'putYourPasswordHere'

navegador : webdriver. Chrome()


navegador. obtener(('https://accounts.google.com/ServiceLogin?'
'service-mail&continue-https://mail.google'
'.com/mail/#identifier'))

• Rellene el nombre de usuario y pulse el botón siguiente

nombre de usuario : navegador. find_element_by_id('identifierId')


nombre de usuario. send_keys(usernameStr)

nextButton - browser. find_element_by_id('identifierNext')


nextButton. haga clic()

• esperar la transición y continuar rellenando los elementos

contraseña: WebDriverWait(navegador, 10). hasta que(


CE. presence_of_element_located((Por. NOMBRE, "contraseña")))

contraseña. send_keys(passwordStr)

signInButton - browser. find_element_by_id('passwordNext')


signInButton. haga clic()

También podría gustarte