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