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.