Automatización de reuniones de Google usando selenium en Python

Requisitos previos : conceptos básicos de Selenium Python , automatización del navegador con Selenium

Selenium es una poderosa herramienta para controlar los navegadores web a través de programas y realizar la automatización del navegador. 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.

Selenium se puede utilizar para automatizar el navegador web. En este artículo, aprenderemos cómo iniciar sesión en la cuenta de Google y unirse a una reunión a través de Google Meet con la cámara y el micrófono apagados usando Selenium.

Instalación:

El módulo de selenium se puede instalar usando el siguiente comando:

pip install selenium

Enfoque paso a paso:

Paso 1: importar módulos

Python3

# import required modules
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

Paso 2: Cree una instancia del navegador Chrome con algunos requisitos previos de Chrome Options().

Python3

# creating chrome instance
opt = Options()
opt.add_argument('--disable-blink-features=AutomationControlled')
opt.add_argument('--start-maximized')
opt.add_experimental_option("prefs", {
 
    "profile.default_content_setting_values.media_stream_mic": 1,
    "profile.default_content_setting_values.media_stream_camera": 1,
    "profile.default_content_setting_values.geolocation": 0,
    "profile.default_content_setting_values.notifications": 1
})
driver = webdriver.Chrome(options=opt)

Paso 3: Ve a la reunión de Google usando este comando

Python3

# go to google meet
driver.get('https://meet.google.com/xby-zehb-ncf')

Paso 4: Llamar a la siguiente función apagará la cámara y el micrófono. En esta función, turnOffMicCam() , encontramos los botones del micrófono y la cámara por sus xpaths usando una función en Selenium llamada find_element_by_xpath().

Python3

# explicit function to turn off mic and cam
def turnOffMicCam():
 
    # turn off Microphone
    time.sleep(2)
    driver.find_element_by_xpath(
        '//*[@id="yDmH0d"]/c-wiz/div/div/div[8]/div[3]/div/div/div[2]/div/div[1]/div[1]/div[1]/div/div[4]/div[1]/div/div/div').click()
    driver.implicitly_wait(3000)
 
    # turn off camera
    time.sleep(1)
    driver.find_element_by_xpath(
        '//*[@id="yDmH0d"]/c-wiz/div/div/div[8]/div[3]/div/div/div[2]/div/div[1]/div[1]/div[1]/div/div[4]/div[2]/div/div').click()
    driver.implicitly_wait(3000)

Paso 5: La siguiente función nos ayudaría a unirnos a la reunión en Google Meet. En esta función, joinNow() , encontramos el botón unirse ahora por su selector css usando una función en selenium llamada find_element_by_css_selector() y hacemos clic en él para unirnos a la reunión. (hacemos lo mismo en la función AskToJoin() ).

Python3

def AskToJoin():
    # Ask to Join meet
    time.sleep(5)
    driver.implicitly_wait(2000)
    driver.find_element_by_css_selector(
        'div.uArJ5e.UQuaGc.Y5sE8d.uyXBBb.xKiqt').click()
    # Ask to join and join now buttons have same xpaths

Paso 6: a continuación se muestra la función que iniciaría sesión en la cuenta de Google utilizando las credenciales proporcionadas. En esta función, Glogin(mail,pw) , encontramos el cuadro de texto del correo electrónico por su id usando una función en selenium llamada find_element_by_id() y escribimos el correo electrónico usando send_keys() y hacemos clic en el botón siguiente nuevamente usando su id y buscamos el texto de la contraseña cuadro usando su xpath , ingrese la contraseña usando send_keys y nuevamente haga clic en iniciar sesión usando su id

Python3

def Glogin(mail_address, password):
    # Login Page
    driver.get(
        'https://accounts.google.com/ServiceLogin?hl=en&passive=true&continue=https://www.google.com/&ec=GAZAAQ')
 
    # input Gmail
    driver.find_element_by_id("identifierId").send_keys(mail_address)
    driver.find_element_by_id("identifierNext").click()
    driver.implicitly_wait(10)
 
    # input Password
    driver.find_element_by_xpath(
        '//*[@id="password"]/div[1]/div/div[1]/input').send_keys(password)
    driver.implicitly_wait(10)
    driver.find_element_by_id("passwordNext").click()
    driver.implicitly_wait(10)
 
    # go to google home page
    driver.get('https://google.com/')
    driver.implicitly_wait(100)

A continuación se muestra el programa completo basado en el enfoque paso a paso anterior:

Python3

# import required modules
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
 
 
def Glogin(mail_address, password):
    # Login Page
    driver.get(
        'https://accounts.google.com/ServiceLogin?hl=en&passive=true&continue=https://www.google.com/&ec=GAZAAQ')
 
    # input Gmail
    driver.find_element_by_id("identifierId").send_keys(mail_address)
    driver.find_element_by_id("identifierNext").click()
    driver.implicitly_wait(10)
 
    # input Password
    driver.find_element_by_xpath(
        '//*[@id="password"]/div[1]/div/div[1]/input').send_keys(password)
    driver.implicitly_wait(10)
    driver.find_element_by_id("passwordNext").click()
    driver.implicitly_wait(10)
 
    # go to google home page
    driver.get('https://google.com/')
    driver.implicitly_wait(100)
 
 
def turnOffMicCam():
    # turn off Microphone
    time.sleep(2)
    driver.find_element_by_xpath(
        '//*[@id="yDmH0d"]/c-wiz/div/div/div[8]/div[3]/div/div/div[2]/div/div[1]/div[1]/div[1]/div/div[4]/div[1]/div/div/div').click()
    driver.implicitly_wait(3000)
 
    # turn off camera
    time.sleep(1)
    driver.find_element_by_xpath(
        '//*[@id="yDmH0d"]/c-wiz/div/div/div[8]/div[3]/div/div/div[2]/div/div[1]/div[1]/div[1]/div/div[4]/div[2]/div/div').click()
    driver.implicitly_wait(3000)
 
 
def joinNow():
    # Join meet
    print(1)
    time.sleep(5)
    driver.implicitly_wait(2000)
    driver.find_element_by_css_selector(
        'div.uArJ5e.UQuaGc.Y5sE8d.uyXBBb.xKiqt').click()
    print(1)
 
 
def AskToJoin():
    # Ask to Join meet
    time.sleep(5)
    driver.implicitly_wait(2000)
    driver.find_element_by_css_selector(
        'div.uArJ5e.UQuaGc.Y5sE8d.uyXBBb.xKiqt').click()
    # Ask to join and join now buttons have same xpaths
 
 
# assign email id and password
mail_address = 'emaild@gmail.com'
password = 'geeksforgeeks'
 
# create chrome instance
opt = Options()
opt.add_argument('--disable-blink-features=AutomationControlled')
opt.add_argument('--start-maximized')
opt.add_experimental_option("prefs", {
    "profile.default_content_setting_values.media_stream_mic": 1,
    "profile.default_content_setting_values.media_stream_camera": 1,
    "profile.default_content_setting_values.geolocation": 0,
    "profile.default_content_setting_values.notifications": 1
})
driver = webdriver.Chrome(options=opt)
 
# login to Google account
Glogin(mail_address, password)
 
# go to google meet
driver.get('https://meet.google.com/xby-zehb-ncf')
turnOffMicCam()
# AskToJoin()
joinNow()

Producción:

Publicación traducida automáticamente

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