Automatización del navegador usando Selenium

Selenium es una poderosa herramienta para controlar un navegador web a través del programa. Es funcional para todos los navegadores, funciona en todos los principales sistemas operativos y sus scripts están escritos en varios lenguajes, es decir, Python, Java, C#, etc. Trabajaremos con Python.

Dominar Selenium lo ayudará a automatizar sus tareas diarias, como controlar sus tweets, los mensajes de texto de Whatsapp e incluso simplemente buscar en Google sin abrir un navegador en solo 15-30 líneas de código Python. Los límites de la automatización son infinitos con Selenium.

Instalación

1.1 Enlaces de Selenium en Python
Los enlaces de Selenium Python proporcionan una API conveniente para acceder a Selenium Web Driver como Firefox, Chrome, etc.

Pip install Selenium 

1.2 Controladores web
Selenium requiere un controlador web para interactuar con el navegador elegido. Web drivers es un paquete para interactuar con un navegador web. Interactúa con el navegador web o un servidor web remoto a través de un protocolo de conexión común a todos. Puede comprobar e instalar los controladores web de su elección de navegador.

Chrome:    https://sites.google.com/a/chromium.org/chromedriver/downloads
Firefox: https://github.com/mozilla/geckodriver/releases
Safari:    https://webkit.org/blog/6900/webdriver-support-in-safari-10/

Empezando

from selenium import webdriver     
  
# For using sleep function because selenium 
# works only when the all the elements of the 
# page is loaded.
import time 
   
from selenium.webdriver.common.keys import Keys 
  
# Creating an instance webdriver
browser = webdriver.Firefox() 
browser.get('https://www.twitter.com')
  
# Let's the user see and also load the element 
time.sleep(2)
   
login = browser.find_elements_by_xpath('//*[@id="doc"]/div[1]/div/div[1]/div[2]/a[3]')
  
# using the click function which is similar to a click in the mouse.
login[0].click()
  
print("Login in Twitter")
  
user = browser.find_elements_by_xpath('//*[@id="login-dialog-dialog"]/div[2]/div[2]/div[2]/form/div[1]/input')
  
# Enter User Name
user[0].send_keys('USER-NAME')
  
user = browser.find_element_by_xpath('//*[@id="login-dialog-dialog"]/div[2]/div[2]/div[2]/form/div[2]/input')
  
# Reads password from a text file because
# saving the password in a script is just silly.
with open('test.txt', 'r') as myfile:  
    Password = myfile.read().replace('\n', '')
user.send_keys(Password)
  
LOG = browser.find_elements_by_xpath('//*[@id="login-dialog-dialog"]/div[2]/div[2]/div[2]/form/input[1]')
LOG[0].click()
print("Login Successful")
time.sleep(5)
  
elem = browser.find_element_by_name("q")
elem.click()
elem.clear()
  
elem.send_keys("Geeks for geeks ")
  
# using keys to send special KEYS 
elem.send_keys(Keys.RETURN) 
  
print("Search Successful")
  
# closing the browser
browser.close() 

Diseccionando el código

La secuencia de comandos anterior es para iniciar sesión en Twitter y buscar geeks para el manejo de geeks.
Entonces, veamos cómo funciona:
1. Abriendo el navegador
2. Creando una instancia del navegador y usando la función .get para conectar el sitio web.
3. Encontrar el elemento: esto puede ser cualquier cosa, encontrar el cuadro de entrada o un botón y usar la función de selenium como click(), send_keys(), etc. para interactuar con el elemento.
4. Cerrar el navegador

A partir de ahora, debe haberse dado cuenta de que este script de automatización funciona de manera iterativa para encontrar un elemento e interactuar con él. Hay varias formas de encontrar un elemento en la página web, simplemente haga clic derecho e inspeccione el elemento y copie el elemento ya sea por nombre, selector css o xpath.

Screenshot_20170419_203546

Bueno, básicamente eso es todo, usando esto, puede crear un script automatizado personalizado para cada sitio web o uno universal para todas sus redes sociales que automatice todas sus acciones.
No hay límite para la automatización y lo anterior es solo un ejemplo para que comiencen. ¡Qué feliz sea la codificación!

Publicación relacionada:
¡Whatsapp usando Python!

Este artículo es una contribución de Pradhvan Bisht . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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