Orquestrando e gerenciando sua automação Selenium em Python RPA

This is a discussion topic for the original post at Orquestrando e gerenciando sua automação Selenium em Python RPA - Botcity | Blog

Mesmo que você não tenha construído seus bots com frameworks Python RPA da BotCity, sabia que é possível orquestrar as automações que você já tem funcionando em produção utilizando o BotCity Maestro? Acompanhe neste artigo como fazer isso, sem a necessidade de reconstruir os bots que já apoiam o seu negócio e seus processos.

Entendendo as diferenças entre os frameworks da BotCity e do Selenium

A BotCity possui alguns frameworks para desenvolvimento das suas automações com Python, como o desktop e o web. Este último, inclusive, foi construído com base no Selenium, mas aproveitando para melhorar e facilitar a usabilidade dos comandos para as pessoas desenvolvedoras.

Veja um exemplo de implementação em que seja necessário abrir um navegador com o Chrome com um perfil carregado:

Com o framework Selenium:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

instacia a classe ChromeOptions

options = webdriver.ChromeOptions()

adiciona os argumentos para execução do navegador

options.add_argument(“–user-data-dir=C:\Users\lsmac\AppData\Local\Google\Chrome\User Data”)
options.add_argument(‘–profile-directory=Profile 1’)

configura o webdriver para execução

driver = webdriver.Chrome(executable_path=“<chromedriver.exe path>”, options=options)

abre o navegador na url definida

navegador.get(“https://botcity.botcity.dev/”)

Com o framework web da BotCity:

from botcity.web import WebBot, Browser
from botcity.web.browsers.chrome import default_options
from webdriver_manager.chrome import ChromeDriverManager

instancia o bot

bot = WebBot()

define qual navegador usar

bot.browser = Browser.CHROME

define o webdriver para execução passando o caminho do Webdriver do Chrome

bot.driver_path = “<chromedriver.exe path>”

adiciona argumentos para execução do navegador

def_options = default_options(
user_data_dir=r"C:\Users\lsmac\AppData\Local\Google\Chrome\User Data", # caso você não informe, será gerado um diretório temporário
)

def_options.add_argument(‘–profile-directory=Profile 1’)

define esses argumentos em options

bot.options = def_options

abre o navegador na url definida

bot.browse(“https://botcity.botcity.dev/”)

Esses dois exemplos fazem o mesmo processo, mas o framework da BotCity mesmo utilizando Selenium, sintetiza, organiza e deixa os métodos mais intuitivos que no uso com Selenium puro.

Contudo, é importante entender que mesmo que você já possua automações funcionando em produção que foram desenvolvidas diretamente com o framework do Selenium, você também consegue utilizar o orquestrador BotCity Maestro para gerenciá-los.

O que é o BotCity Maestro

É o nosso orquestrador. Por ele, você pode gerenciar seus bots em uma única plataforma com logs, alertas, dashboards, entre outras funcionalidades. E podem ser automações de qualquer framework, como é o caso do Selenium que estamos falando neste artigo.

Por que orquestrar e gerenciar seus bots

Acompanhar o funcionamento dos robôs, principalmente quando são vários, pode te ajudar na monitoria de suas automações. Não apenas garantindo que foram ou não foram executadas. Mas entendendo possíveis erros, em que momento cada robô deve ser executado, em qual sequência etc. Isso facilita o dia-a-dia, permite atuar onde possíveis problemas possam ocorrer e melhora ainda mais processos que já foram automatizados.

A orquestração pode envolver tanto a área de negócios, como o time de TI (ou CoE). E algumas funcionalidades como agendamento das automações, disparo de alertas para usuários (processo iniciado, sistema fora do ar, erro em requisição), gestão de logs dos processos criados, integrações com sistemas de comunicação (Microsoft Teams, Slack, Whatsapp e E-mail) podem garantir uma operação escalável, centralizada e eficiente na sua empresa.

Então como eu faço para utilizar o Maestro na minha automação construída em Selenium puro?

Requisitos mínimos

Para que você possa fazer esse processo, é importante ter dois requisitos básicos:

  • bot.py: um arquivo com este nome que será utilizado como entrada no BotCity Runner, como se fosse a “main” do seu projeto;
  • requirements.txt: um arquivo com este nome que possua as dependências que são utilizadas no código. Este arquivo servirá como referência para o BotCity Runner saber quais são os packages que precisam ser instalados para executar o código da sua automação.

Criando o arquivo bot.py

Vamos exemplificar com a criação de um bot com Selenium puro que acessa o canal do YouTube da BotCity e busca a quantidade de pessoas inscritas. Veja a implementação abaixo.

from selenium import webdriver

define o uso do Chrome

driver = webdriver.Chrome(executable_path=“<chromedriver.exe path>”)

acessa a página do Google

driver.get(“https://google.com”)

pesquisa pelo canal da BotCity no YouTube

search_bar = driver.find_element_by_name(“q”)
search_bar.send_keys(“BotCity RPA Youtube”)

clicando no botão “I’m Feeling Lucky”

feeling_lucky_button = driver.find_element_by_xpath(“/html/body/div[1]/div[3]/form/div[1]/div[1]/div[3]/center/input[2]”)
feeling_lucky_button.click()

identificando o número de pessoas inscritas no canal

subscribers = driver.find_element_by_id(“subscriber-count”).text
print(f"Subscribers Count: {subscribers}")

fecha o navegador

driver.quit()

Criando o arquivo requirements.txt

Crie o arquivo com o conteúdo das bibliotecas e suas versões:

# configura para o uso de um package específico
selenium==3.141.0

Crie um .zip com os arquivos criados

Ficará com uma estrutura parecida com essa:

CustomBot.zip
├── bot.py
└── requirements.txt

Você pode verificar mais informações importantes em nossa documentação sobre essa implementação do seu bot com o Maestro.

Fazendo o deploy no Maestro

Criando a automação

A primeira coisa a se fazer é identificar a opção “Easy Deploy” no menu localizado no lado esquerdo da tela. Ao clicar nessa opção, você deverá preencher com o nome da automação.

Adicionando o bot no Maestro

No passo seguinte, você deverá anexar o seu robô (o .zip que você criou com os arquivos bot.py e requirements.txt). Em seguida, informe a linguagem utilizada no desenvolvimento do bot, o nome do bot e a versão.

Escolhendo onde executar

Nesta etapa, você deverá escolher em qual runner sua automação deverá ser executada ou criar uma nova. E, por fim, clique em “deploy”.

Após isso, irá carregar a tela informando que o seu deploy ocorreu com sucesso.

Você pode acompanhar mais informações sobre o deploy e execução nesta parte da nossa documentação.

Mas com essas etapas, você já tem sua automação disponível para ser executada, gerenciada e orquestrada pelo Maestro, independente de ter criado um projeto totalmente construído em frameworks que não sejam da BotCity.

Que tal experimentar como funciona gratuitamente?

Clique aqui para criar sua conta gratuitamente e testar essas e outras funcionalidades. Aproveite para participar da nossa comunidade no Slack e trazer seu feedback e sugestões.