es.hideout-lastation.com
Paraíso Para Los Diseñadores Y Desarrolladores


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

La automatización es, sin duda, una de las habilidades más codiciadas que un programador puede poseer. La automatización generalmente se usa para tareas que son repetitivas, aburridas, lentas o de otro modo ineficaces 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 controlar las tarifas de los hoteles de la competencia a través de Internet y determinar el mejor precio.

Personalmente, siempre encontré el inicio de sesión en mi correo electrónico bastante repetitivo y aburrido, así que por el simple ejemplo de comenzar la automatización web, implementemos un script automatizado de Python para iniciar sesión con un solo clic en una cuenta de Gmail.

Instalación y configuración

En este tutorial vamos a usar las siguientes herramientas :

  1. Lenguaje de programación Python
  2. Navegador Google Chrome
  3. Kit de herramientas de automatización del navegador Selenium
  4. Controlador web 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, que nos permitirá instalar paquetes y marcos de terceros que necesitaremos para automatizar nuestros scripts.

Una vez instalado, reinicie su computadora para que los cambios surtan efecto. Utilice el comando pip install selenium para agregar el kit de herramientas de automatización web Selenium a Python. Selenium nos permitirá desplazarnos, copiar texto, rellenar formularios y hacer clic en los botones de forma programática.

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 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 ejecutable chromedriver.exe y coloque el ejecutable en cualquier directorio. Asegúrese de anotar dónde está su ejecutable, porque lo necesitaremos una vez que comencemos .

Iniciando el programa

Como se mencionó anteriormente, utilizaremos el marco de automatización web de Selenium para iniciar sesión programáticamente . La primera orden del día es importar cada módulo que necesitemos de la biblioteca Selenium Python que instalamos ealier con PIP.

Vamos a abrir IDLE u otro editor de código, crear un nuevo archivo de Python con la extensión .py e importar los siguientes módulos :

 de selenium import webdriver de selenium.webdriver.common.by import By de selenium.webdriver.support.ui import WebDriverWait de 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 su cadena de contraseña.

 usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere' 

Ahora que ya tenemos todo listo para comenzar el proceso de inicio de sesión, necesitamos instruir una ventana del navegador para que abra 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 script de Python esté guardado en la misma ubicación que el ejecutable chromedriver.exe que chromedriver.exe anteriormente.

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

Hemos logrado que el navegador abra Gmail, pero ahora necesitamos encontrar los campos de entrada en la página web, en los que podemos ingresar nuestro nombre de usuario y contraseña .

Podemos hacer esto fácilmente usando las herramientas para desarrolladores de Chrome incorporadas. Solo debemos hacer clic derecho en los campos de entrada y seleccionar el menú "Inspeccionar".

Ahora solo se trata de usar atributos de id HTML para encontrar los elementos mediante programación.

En el siguiente código, simplemente buscamos el campo de ingreso de nombre de usuario por id y lo llenamos con el texto deseado. Luego buscamos el botón Siguiente que hace una transición con una animación rápida antes de solicitarnos la contraseña.

Los send_keys() y click() hacen exactamente lo que sugieren sus nombres: send_keys() simula las pulsaciones de teclas en el elemento deseado y hace click() simula un clic del mouse .

 # completar el nombre de usuario y presionar el siguiente botón 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 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 la búsqueda de elementos. En su mayor parte, esta etapa de código no es diferente de la anterior. Simplemente tenemos que indicarle al navegador que espere un máximo de 10 segundos antes de ubicar la entrada de la contraseña.

 # espera de la transición y continúa llenando los elementos contraseña = WebDriverWait (navegador, 10) .unil (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = browser.find_element_by_id ('signIn' ) signInButton.click () 
Ultimas palabras

Acaba de crear un bot que visita una página web, ingresa su nombre de usuario y contraseña, y lo inicia correctamente, automatizando todo el proceso con un solo clic. Sé que esta fue una demostración simple, pero las posibilidades son infinitas.

En esa misma nota, tenga cuidado de cómo usa 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 tener más intenciones maliciosas.

¡Solo asegúrese de usar la automatización a propósito y con 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 de Greater Boston, y ama la comida, el fútbol y la programación (Python, el idioma favorito).

  • Descargar Fuente

Apple iOS 10.2 viene con cientos de nuevos emojis y más

Apple iOS 10.2 viene con cientos de nuevos emojis y más

Los propietarios de dispositivos con iOS se regocijan porque Apple lanzó la actualización de iOS 10.2 al público . Además de las correcciones de errores y mejoras habituales, iOS 10.2 saluda a los usuarios con la nueva aplicación de televisión que se burló por primera vez durante la revelación de la MacBook Pro no hace mucho tiempo.Con la

(Consejos de tecnología y diseño)

Convierta los formularios web convencionales en conversaciones con este script

Convierta los formularios web convencionales en conversaciones con este script

Si alguna vez ha querido humanizar sus formularios web, adorará el script de Formulario conversacional creado por SPACE10.Esta secuencia de comandos convierte automáticamente todos sus campos de entrada en mensajes de chat de preguntas y respuestas . La interfaz también cambia a un campo de texto de tipo SMS donde el usuario escribe sus respuestas y el script de chat responde.Se

(Consejos de tecnología y diseño)