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.
En este artículo vamos a ver cómo automatizar nuestro navegador. Simplemente podemos seleccionar la palabra/oración y pronunciar Buscar y la palabra/oración se busca automáticamente y le brinda resultados precisos.
Requisito:
- pyautogui : PyAutoGUI es un módulo Python de automatización de GUI multiplataforma para seres humanos. Se utiliza para controlar mediante programación el ratón y el teclado.
- selenium : Selenium es una poderosa herramienta para controlar los navegadores web a través de programas y realizar la automatización del navegador.
- Speech_recognition : el reconocimiento de voz es una característica importante en varias aplicaciones utilizadas, como domótica, inteligencia artificial, etc.
- Estamos usando chromedriver_autoinstaller para poder ver el significado de la palabra buscada. [Ha instalado la última versión de Chrome en su dispositivo local).
Enfoque paso a paso:
Paso 1: importar los módulos requeridos
Python3
# import module. # Web browser Automation from selenium import webdriver from time import sleep # Support for chrome import chromedriver_autoinstaller # Invoking speech module import speech_recognition as sr # Support file for speech recognition import pyttsx3 # Automating task import pyautogui
Paso 2: invoquemos el módulo de reconocimiento de voz e iniciemos nuestro altavoz interno para que pueda escuchar nuestra voz como entrada y pueda iniciar el proceso. MyText almacena nuestro comando de voz como un texto.
Python
r = sr.Recognizer() with sr.Microphone() as source2: r.adjust_for_ambient_noise(source2, duration = 0.2) audio2 = r.listen(source2) MyText = r.recognize_google(audio2) MyText = str(MyText.lower())
Paso 3: Después de seleccionar y hablar, la búsqueda con su voz iniciará el proceso. El uso de selenium y pyautogui automáticamente toma esa palabra y da el resultado de búsqueda apropiado.
Python3
if MyText == "search": # Automates 'copy' internally pyautogui.hotkey('ctrl', 'c') chrome_options = webdriver.ChromeOptions() capabilities = {'browserName': 'chrome', 'javascriptEnabled': True} capabilities.update(chrome_options.to_capabilities()) chromedriver_autoinstaller.install() # Invoking the chrome driver = webdriver.Chrome() # Adjusting the size of the window driver.set_window_size(1920, 1080) driver.implicitly_wait(10) driver.get("https://www.google.com/") #Place where our selected word gets pasted driver.find_element_by_xpath( "/html/body//form[@role='search']/div[2]/div[1]//div[@class='a4bIc']/input[@role='combobox']") .send_keys(pyautogui.hotkey('ctrl', 'v'))
A continuación se muestra la implementación completa:
Python
from selenium import webdriver from time import sleep import chromedriver_autoinstaller import speech_recognition as sr import pyttsx3 import pyautogui while(True): try: r = sr.Recognizer() with sr.Microphone() as source2: r.adjust_for_ambient_noise(source2, duration = 0.2) audio2 = r.listen(source2) MyText = r.recognize_google(audio2) MyText = str(MyText.lower()) if MyText == "search": pyautogui.hotkey('ctrl', 'c') chrome_options = webdriver.ChromeOptions() capabilities = {'browserName': 'chrome', 'javascriptEnabled': True} capabilities.update(chrome_options.to_capabilities()) chromedriver_autoinstaller.install() driver = webdriver.Chrome() driver.set_window_size(1920, 1080) driver.implicitly_wait(10) driver.get("https://www.google.com/") driver.find_element_by_xpath( "/html/body//form[@role='search']/div[2]/div[1]//div[@class='a4bIc']/input[@role='combobox']") .send_keys(pyautogui.hotkey('ctrl', 'v')) elif MyText == "stop": break except Exception as e: pyautogui.press('enter')
Manifestación:
Publicación traducida automáticamente
Artículo escrito por decodeme_33 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA