Trucos de Selenium Python

Selenium : los enlaces de Selenium Python proporcionan una API conveniente para acceder a Selenium Web Driver como Firefox, Chrome, etc. ¿
Qué es webdriver?  
Selenium WebDriver es una herramienta de prueba de automatización. Cuando digo automatización, significa que automatiza los scripts de prueba escritos en Selenium.
Instalación del controlador web 
 

Chrome:    https://sites.google.com/a/chromium.org/chromedriver/downloads

Biblioteca importada 
 

from selenium import webdriver
import time

(i) Biblioteca de Selenium: 
– Utilizada para la automatización 
– Controlar Webdriver 
– Realizar acciones como – clics en elementos, actualizar página, ir al enlace del sitio web, etc.
(ii) Biblioteca de tiempo: 
-Para usar la función de suspensión porque Selenium funciona solo cuando todos los elementos la página está cargada. 
Truco 1: ¿Cómo aumentar el número de visitas en un sitio web?  
#Nota: Esto no funcionará en todos los sitios web, como youtube. 
Lo que estaríamos aprendiendo es a actualizar la página web una y otra vez después de un intervalo de tiempo determinado. 
 

Python

#!/usr / bin / env python
from selenium import webdriver
import time
 
# set webdriver path here it may vary
browser = webdriver.Chrome(executable_path ="C:\Program Files (x86)\Google\Chrome\chromedriver.exe")
 
website_URL ="https://www.google.co.in/"
browser.get(website_URL)
 
# After how many seconds you want to refresh the webpage
# Few website count view if you stay there
# for a particular time
# you have to figure that out
refreshrate = int(15)
 
# This would keep running until you stop the compiler.
while True:
    time.sleep(refreshrate)
    browser.refresh()

Truco 2: Cómo iniciar sesión en un sitio web, aquí tomamos un ejemplo de Zomato 
 

Python

from selenium import webdriver
# For using sleep function because selenium
# works only when all the elements of the
# page is loaded.
import time
# webdriver path set
browser = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\chromedriver.exe")
 
# To maximize the browser window
browser.maximize_window()
 
# zomato link set
browser.get('https://www.zomato.com / ncr')
 
time.sleep(3)
# Enter your user name and password here.
username = "test"
password = "test"
 
 
# signin element clicked
browser.find_element_by_xpath("//a[@id ='signin-link']").click()
time.sleep(2)
 
# Login clicked
browser.find_element_by_xpath("//a[@id ='login-email']").click()
 
# username send
a = browser.find_element_by_xpath("//input[@id ='ld-email']")
a.send_keys(username)
 
# password send
b = browser.find_element_by_xpath("//input[@id ='ld-password']")
b.send_keys(password)
 
# submit button clicked
browser.find_element_by_xpath("//input[@id ='ld-submit-global']").click()
 
print('Login Successful')
browser.close()

Truco 3: secuencia de comandos de automatización de inicio de sesión de Instagram.
Sabemos que Instagram descontinuará su API heredada a partir del 29 de junio de 2020. 
Por lo tanto, probablemente sea una mejor idea aprender secuencias de comandos de automatización. 
 

Python3

from selenium import webdriver
# sleep() function is required because
# selenium needs a page to be fully loaded first
# otherwise errors may occur
from time import sleep
# Usage sleep(x) Where x is time in seconds and
# may vary according to your connection
 
# I have made class so that extra methods can be added later on
# if required
class instagramBot:
    def __init__(self, username, password):
        # these lines will help if someone faces issues like
        # chrome closes after execution
        self.opts = webdriver.ChromeOptions()
        self.opts.add_experimental_option("detach", True)
        self.driver  = webdriver.Chrome(options=self.opts)
         
        # Username and password
        self.username = username
        self.password = password
         
        # Opens Instagram login page
        self.driver.get("https://instagram.com")
        sleep(2) # 1 Second Wait
         
        # Automatically enters your username and
        # password to instagram's username field
        self.driver.find_element_by_xpath("//input[@name = 'username']").send_keys(self.username)
        self.driver.find_element_by_xpath("//input[@name = 'password']").send_keys(self.password)
         
        # Clicks on Log In Button
        self.driver.find_element_by_xpath("//div[contains(text(), 'Log In')]").click()
        sleep(2)
 
        # Bonus: Automatically clicks on 'Not Now'
        # when Instagram asks to show notifications
        self.driver.find_element_by_xpath("//button[contains(text(), 'Not Now')]").click()
 
# Testing Your Code
instagramBot('Sample Username','Sample Password')

Publicación traducida automáticamente

Artículo escrito por shaurya uppal 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 *