Búsqueda de texto en Google usando Selenium en Python

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

Deja una respuesta

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