Cómo construir un bot de inicio de sesión automático simple con Python y Selenium
Automatización Sin duda, es una de las habilidades más codiciadas que un programador puede poseer. La automatización se utiliza normalmente para tareas que son repetitivo, aburrido, lento, o de otro modo ineficiente sin el uso de un script.
Con automatización web, tu puedes fácilmente Crea un bot para realizar diferentes tareas. en la web, por ejemplo, para controlar las tarifas de los hoteles de la competencia a través de Internet y determinar el mejor precio.
En lo personal, siempre he encontrado iniciar sesión en mi correo electrónico bastante repetitivo y aburrido, así que por un simple ejemplo para hacerles llegar chicos comenzó con la automatización web, vamos a implementar un script automatizado de Python a iniciar sesión con un solo clic a una cuenta de Gmail.
Instalación y configuración
En este tutorial vamos a utilizar el siguientes herramientas:
- Lenguaje de programación Python
- Navegador Google Chrome
- Selenium kit de herramientas de automatización del navegador
- Chrome Driver web driver para Chrome
Para nuestro programa, usaremos el lenguaje de programación Python, específicamente versión 2.7.11. Es crítico que instalemos un Versión bastante nueva de Python 2 porque viene con PIPA, lo que nos permitirá instalar paquetes y marcos de terceros que necesitaremos para automatizar nuestros scripts.
Una vez instalada, reinicia tu computadora para que los cambios surtan efecto. Usa el comando pip instalar selenio
para agregar el Selenium kit de herramientas de automatización web a Python. Selenium nos permitirá desplazarnos programáticamente, copiar texto, rellenar formularios y hacer clic en los botones.
Finalmente descargar el Selenium Chrome Driver ejecutable, que lo hará abrir Google Chrome Según sea necesario para realizar nuestras tareas automatizadas. El Chrome Driver 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 desde aquí, extraiga el chromedriver.exe
ejecutable, y colocar el ejecutable en cualquier directorio. Asegúrese de tomar nota de dónde está su ejecutable, porque lo necesitaremos una vez que comencemos.
Iniciando el Programa
Como se mencionó anteriormente, estaremos usando el Marco de automatización web Selenium a fin de que iniciar sesión programáticamente. La primera orden de negocio es importar cada modulo Lo necesitaremos de la biblioteca de Selenium Python, que instalamos ealier con PIP.
Abramos IDLE u otro editor de código, crear un nuevo archivo de Python con .py
extensión, y importar los siguientes módulos:
desde selenio importar webdriver desde selenium.webdriver.common.by importar Por desde selenium.webdriver.support.ui importar WebDriverWait desde selenium.webdriver.support importar previsión de condiciones como EC
A continuación, vamos a crear dos cadenas que representan nuestra nombre de usuario y contraseña para la cuenta de correo electrónico. Preste atención al uso de mayúsculas, especialmente en la cadena de su contraseña.
usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Ahora que ya tenemos todo configurado para iniciar el proceso de inicio de sesión, debemos 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 su secuencia de comandos de Python es guardado en el mismo lugar que el chromedriver.exe
ejecutable extrajimos antes.
browser = webdriver.Chrome () browser.get (('https://accounts.google.com/ServiceLogin? "service = mail & continue = https: //mail.google" .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 la que podemos ingresa nuestro nombre de usuario y contraseña.
Podemos hacer esto fácilmente usando las herramientas integradas para desarrolladores de Chrome. Solo tenemos que hacer clic con el botón derecho en los campos de entrada y seleccionar “Inspeccionar” menú.
Ahora solo es cuestión de usando HTML carné de identidad
atributos para encontrar los elementos programáticamente.
En el código de abajo, simplemente estamos buscando el campo de entrada de nombre de usuario por carné de identidad
, y llenándolo con el texto deseado. Entonces estamos buscando el botón Siguiente qué transiciones con una animación rápida antes de solicitarnos la contraseña.
los send_keys ()
y hacer clic()
Los comandos hacen exactamente como sus nombres sugieren - send_keys ()
simula pulsaciones de teclas en el elemento deseado, y hacer clic()
simula un clic del ratón.
# complete el nombre de usuario y presione el siguiente botón nombre de usuario = browser.find_element_by_id ('Correo electrónico') username.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
Podemos hacer la misma cosa 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. solamente después una transición animada.
Dicho esto, necesitamos el programa para espera unos segundos Antes de reanudar su búsqueda de elementos. En su mayor parte, esta etapa de código no es diferente de la anterior. Simplemente tenemos que indicar al navegador que espera un máximo de 10 segundos antes de ubicar la entrada de contraseña.
# espere la transición luego continúe para completar los elementos 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 ()
Ultimas palabras
Acabas de terminar creando un bot que visita una página web, ingresa su nombre de usuario y contraseña, e inicia sesión con éxito, automatizando todo el proceso a un solo clic. Sé que esto fue una simple demostración, pero las posibilidades son infinitas..
En esa misma nota, ten cuidado de como usas esta habilidad Algunas personas usan bots y scripts automatizados para participar en sorteos miles de veces, sin tener en cuenta los términos y condiciones. Otros los usan para propósitos más maliciosos..
Solo asegúrese de usar la automatización a propósito y con cuidado, porque realmente es un habilidad muy necesaria en la comunidad de programacion!
Nota del editor: Esta es una publicación escrita para Hongkiat.com por Malik Brahimi. Malik es un desarrollador ubicado en el área del Gran Boston, y le encanta la comida, el fútbol y la programación (lenguaje favorito Python).
- Descargar fuente