Cómo automatizar Google Chrome usando Foxtrot y Python

En este artículo, veremos cómo automatizar Google Chrome usando Foxtrot y Python.

¿Qué es Foxtrot RPA?

La automatización robótica de procesos (RPA) reduce la carga de trabajo de los empleados mediante la automatización de pasos repetitivos y de gran volumen en los procesos. Los robots de software, como Foxtrot RPA, emulan las acciones de los trabajadores humanos para ejecutar tareas dentro de las aplicaciones a través de su interfaz de usuario.

Requisitos previos:

  • Instale la última versión de Foxtrot RPA.
  • Instale el paquete python selenium ejecutando el siguiente comando en la terminal.
  • Instale la última versión de Google Chrome y su controlador web de Chrome.

Necesitamos crear un script de python simple que automatice un trabajo en Google Chrome usando Selenium y Chrome Webdriver. Y aquí, automatizaremos una autorización en «https://auth.geeksforgeeks.org» y extraeremos el nombre, el correo electrónico y el nombre del instituto del perfil de inicio de sesión.

Primero, lo probamos ejecutando el archivo python y luego agregaremos este script python en Foxtrot Python Actions Botflow y ejecutaremos Botflow.

Extrayendo información usando webdriver:

Primero, debemos iniciar el controlador web usando selenium y enviar una solicitud de obtención a la url , y luego identificar el documento HTML y encontrar las etiquetas de entrada y las etiquetas de botón que aceptan el nombre de usuario/correo electrónico, la contraseña y el botón de inicio de sesión.

Para enviar el correo electrónico y la contraseña proporcionados por el usuario a las etiquetas de entrada, respectivamente:

driver.find_element_by_name('user').send_keys(email)
driver.find_element_by_name('pass').send_keys(password)

Para identificar la etiqueta del botón y hacer clic en ella usando el selector de CSS a través de Selenium webdriver:

driver.find_element_by_css_selector(‘button.btn.btn-green.signin-button’).click()

Después de hacer clic en Iniciar sesión, se debe cargar una nueva página que contiene el nombre, el nombre del instituto y la identificación del correo electrónico.

Identifique las etiquetas que contienen los datos anteriores y selecciónelas:

contenedor = controlador.find_elements_by_css_selector(‘div.mdl-cell.mdl-cell–9-col.mdl-cell–12-col-phone.textBold’)

Obtenga el texto de cada una de estas etiquetas de la lista devuelta de selectores de CSS seleccionados:

name = container[0].text
try:
    institution = container[1].find_element_by_css_selector('a').text
except:
    institution = container[1].text
email_id = container[2].text

Finalmente, imprima la salida:

print({“Nombre”: nombre, “Institución”: institución, “ID de correo electrónico”: correo electrónico})

A continuación se muestra la implementación:

Python3

# Import the required modules
from selenium import webdriver
import time
  
# Main Function
if __name__ == '__main__':
  
    # Provide the email and password
    email = ''
    password = ''
  
    options = webdriver.ChromeOptions()
    options.add_argument("--start-maximized")
  
    # Provide the path of chromedriver
    # present on your system.
    driver = webdriver.Chrome(
        executable_path="C:/chromedriver/chromedriver.exe", 
      chrome_options=options)
    driver.set_window_size(1920, 1080)
  
    # Send a get request to the url
    driver.get('https://auth.geeksforgeeks.org/')
    time.sleep(5)
  
    # Finds the input box by name
    # in DOM tree to send both
    # the provided email and password in it.
    driver.find_element_by_name('user').send_keys(email)
    driver.find_element_by_name('pass').send_keys(password)
  
    # Find the signin button and click on it.
    driver.find_element_by_css_selector(
        'button.btn.btn-green.signin-button').click()
    time.sleep(5)
  
    # Returns the list of elements
    # having the following css selector.
    container = driver.find_elements_by_css_selector(
        'div.mdl-cell.mdl-cell--9-col.mdl-cell--12-col-phone.textBold')
  
    # Extracts the text from name,
    # institution, email_id css selector.
    name = container[0].text
    try:
        institution = container[1].find_element_by_css_selector('a').text
    except:
        institution = container[1].text
    email_id = container[2].text
  
    # Output
    print({"Name": name, "Institution": institution,
           "Email ID": email})
  
    # Quits the driver
    driver.quit()

Producción:

Automatizando el Script usando Foxtrot

Aquí vamos a automatizar el script usando foxtrot.

Paso 1: abra la aplicación Foxtrot y asegúrese de seleccionar el nivel como experto en la configuración de la cuenta:

Paso 2: Cree un nuevo Botflow y haga clic en la pestaña Avanzado en el Panel de acciones y seleccione Python.

Paso 3: Debería aparecer una nueva ventana donde puede seleccionar el método como Código y copiar y pegar el script anterior en el cuadro de código provisto.

O bien, puede seleccionar el método del archivo python que contiene el script:

Paso 4: Para mostrar el resultado del script anterior en Foxtrot, necesitamos crear una variable. Haga clic en la casilla de verificación junto a Guardar en y seleccione el botón mágico en el lado derecho.

Creación de variables

Paso 5: Debería aparecer una nueva ventana llamada Expresión, seleccione Variables en los elementos y haga clic en el botón «+» en la parte superior derecha de la ventana.

Paso 6: Proporcione un nombre y seleccione Tipo como texto y haga clic en Aceptar.

Haga clic en Aceptar nuevamente y luego escriba el nombre de la variable en el cuadro Guardar en. La siguiente imagen representa el estado final después de seguir los pasos mencionados anteriormente.

Haga clic en Aceptar para ejecutar el BOT:

Paso 7: Para ver la Salida, seleccione Variables en el BotFlow y haga clic en el botón del lápiz de la variable previamente seleccionada.

El resultado es el mismo que vimos antes al ejecutar el script en la Terminal:

Así es como podemos automatizar Google Chrome usando Selenium, Python y Foxtrot.

Publicación traducida automáticamente

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