Blog

Postado em em 31 de março de 2022

Automação no Python com BotCity – Automação de Tarefas e Processos

Hoje eu vou te mostrar como fazer a automação no Python com BotCity que é um RPA e vai permitir essas automações!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Automação no Python com BotCity

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Automação de Tarefas com Python

Você provavelmente já precisou fazer uma automação ou quis saber como fazer automações com Python não é mesmo?

Hoje eu vou te mostrar como fazer isso com a nova ferramenta BotCity, que é para criar uma automação de processos com robôs.

Como Automatizar Tarefas com Python

Você deve saber que automação facilita muito o seu trabalho, principalmente quando você tem que fazer tarefas/processos repetitivos.

Então a ideia é te mostrar como fazer automações com Python para facilitar e agilizar os seus próximos trabalhos!

Antes de iniciar vale lembrar que nós vamos utilizar o PyCharm, que é um editor de Python. Caso queira utilizar o mesmo editor basta clicar aqui que temos um post explicando como instalar!

A ferramenta que vamos utilizar é o BotCity, que é uma ferramenta gratuita de RPA (Robot Processing Automation), ou seja, automação de processos com robôs.

Como é uma ferramenta você pode entrar no site e já criar a sua conta. Lembrando que você vai ter que salvar seu login, senha e o nome do seu workspace.

Para o passo a passo de configuração sugiro que faça o download dos arquivos da aula, pois temos um PDF só com esse passo a passo!

Depois de seguir o passo e criar o seu bot você já pode fazer o primeiro teste que ele já vai abrir o seu navegador padrão.

Automação no Python com BotCity
Rodando o bot para testar

Então basta clicar com o botão direito e clicar em Run Bot. Caso essa opção ainda não tenha aparecido você pode esperar um pouco, pois o PyCharm demora um pouco para processar essa parte.

Note que nesse caso alteramos o site para o site da Hashtag Treinamentos, assim temos que ver esse site sendo aberto após executar o nosso bot.

Se o site abrir normalmente é porque as suas configurações estão corretas!

Agora vamos para o passo de vincular o nosso projeto com o BotStudio. Para isso vamos até a pasta do BotStudio e vamos executar o arquivo com a extensão .bat.

Automação no Python com BotCity
Tela de login do BotCity

Feito isso será aberto essa janela do BotStudio para que você possa inserir as informações de quando criou sua conta.

Agora dentro da nova janela você pode clicar em File > New Project para criar um projeto.

Automação no Python com BotCity
Selecionando as pastas para o novo projeto

Aqui é importante que você selecione as pastas corretamente, no primeiro campo vai ser a pasta geral, no segundo campo a pasta que já está dentro da pasta geral.

É que no nosso exemplo essas duas pastas possuem o mesmo nome “botyoutube”. E no último campo vamos selecionar a pasta “resources” que fica dentro da segunda pasta “botyoutube”.

Você vai notar que dentro do BotStudio temos os mesmos arquivos que temos no PyCharm (que está na nossa pasta).

Arquivos dentro do BotStudio
Arquivos dentro do BotStudio

Agora que fizemos as configurações já estamos prontos para criar as automações! Esse processo de configuração é um pouco chato, mas só vamos precisar fazer uma vez.

OBS: Vamos escrever os nossos comandos dentro de uma classe, que é o class bot, e todos esses comandos vão começar com .self.

Dentro de Documentatio > BotCity Framework Python você vai ser direcionado a esse site para verificar todos os comandos que vai poder utilizar.

Então você já vai conseguir visualizar os comandos que pode utilizar para automatizar as tarefas no seu computador.

Vamos ao código de automação!

from botcity.core import DesktopBot
# Uncomment the line below for integrations with BotMaestro
# Using the Maestro SDK
# from botcity.maestro import *



class Bot(DesktopBot):
    def action(self, execution=None):

        # lembre de atualizar os códios para o programa que quer abrir no seu computador
        self.execute(r'C:\Users\joaol\Desktop\Microsoft Teams.lnk')

        if not self.find( "pesquisar", matching=0.97, waiting_time=10000):
            self.not_found("pesquisar")
        self.click()
        self.paste("alon pinheiro")

        if not self.find( "alon", matching=0.97, waiting_time=10000):
            self.not_found("alon")
        self.click()

        if not self.find( "campo mensagem", matching=0.97, waiting_time=10000):
            self.not_found("campo mensagem")
        self.click()

        self.paste("Coe Alon, to automatizando tudo")

        self.enter()


    def not_found(self, label):
        print(f"Element not found: {label}")


if __name__ == '__main__':
    Bot.main()

Aqui a ideia é automatizar o envio de uma mensagem pelo Teams.

Um ponto interessante é que quando você está utilizando o programa que vai automatizar e tira um print, esse print aparece dentro do BotStudio.

Print dentro do BotStudio
Print dentro do BotStudioPrint dentro do BotStudio

Agora quando você clicar próximo de onde quer que o programa clique ou faça alguma ação ele vai dar zoom nesse local.

Selecionando o local da ação
Selecionando o local da ação

Depois do zoom, você vai clicar a primeira vez para começar a criar esse retângulo, que vai marcar a área onde vai executar uma ação.

Em seguida vai dar um segundo clique onde vai marcar o final dessa seleção. Por fim, vai dar um último clique no lugar do primeiro clique para poder finalizar.

Quando finalizar os 3 cliques vai aparecer uma janela chamada Crop Actions, que vai te mostrar as ações que você pode fazer.

Então tem a opção de encontrar, clicar, mover… Com isso você vai escolher a opção desejada e vai clicar em Submit.

Com isso, automaticamente será criado um código pra você! Isso quer dizer que você não precisa escrever, você vai fazer isso para “criar” o código de forma automática com essa seleção.

Você só vai precisar pegar esse código que foi criado e posicionar onde você quer no código! Lembrando de corrigir as identações do código!

Agora você vai poder repetir esse procedimento para fazer as ações que você quer!

No nosso caso vamos na parte de pesquisar, vamos pesquisar por um nome específico. Em seguida, vamos clicar no campo de mensagem para enviar uma mensagem para essa pessoa!

OBS: Não sei se você notou, mas quando escreve um código no PyCharm ele vai aparecer dentro do BotStudio e o mesmo acontece no caso contrário, só que no caso de escrever primeiro no BotStudio você tem que salvar para que as informações apareçam no PyCham.

Agora você já sabe que o BotStudio vai encontrar o elemento que você quer através da imagem desse elemento. Então facilita bastante na hora de criar o código, até porque você só vai precisar selecionar o local para que o programa crie o código.

Agora que você já sabe como fazer essa automação nós podemos fazer uma automação em uma página da web para preencher um formulário.

from botcity.core import DesktopBot
# Uncomment the line below for integrations with BotMaestro
# Using the Maestro SDK
# from botcity.maestro import *



class Bot(DesktopBot):
    def action(self, execution=None):

        # 2º bot

        self.browse("https://www.hashtagtreinamentos.com/")

        if not self.find( "curso python", matching=0.97, waiting_time=10000):
            self.not_found("curso python")
        self.click()
        
        if not self.find( "pagina carregou", matching=0.97, waiting_time=10000):
            self.not_found("pagina carregou")
        
        self.scroll_down(3000)
        
        if not self.find( "nome", matching=0.97, waiting_time=10000):
            self.not_found("nome")
        self.click()
        
        self.paste("SeuNome")
        
        if not self.find( "email", matching=0.97, waiting_time=10000):
            self.not_found("email")
        self.click()
        
        self.paste("[email protected]")
        
        if not self.find( "cadastrar", matching=0.97, waiting_time=10000):
            self.not_found("cadastrar")
        self.click()

    def not_found(self, label):
        print(f"Element not found: {label}")


if __name__ == '__main__':
    Bot.main()

O procedimento é basicamente o mesmo que já fizemos, só que agora vamos utilizar uma página da internet.

IMPORTANTE: Vale ressaltar que esses textos que estamos colocando dentro dos comandos é o nome que você vai dar quando estiver selecionando um elemento. Não vai ser necessariamente esse texto que você vai buscar.

Então nesse código nós vamos acessar um site, clicar em um botão e depois para garantir que a página carregou vamos buscar por um elemento qualquer da página já carregada.

Assim vamos garantir que a página está carregada para utilizar o scroll, que é a para movimentar a página, pois como queremos encontrar uma informação na página para preencher precisamos estar visualizando essa informação.

Então para isso vamos utilizar o scroll, lembrando que é em quantidade de cliques na seta do scroll e não a quantidade de rolagem que dá no seu mouse por exemplo.

Sabendo disso já pode começar um valor relativamente alto para facilitar e ai vai testando até conseguir visualizar o que precisa na página.

Pronto! Agora você sabe como automatizar tarefas e processos no Python utilizando o BotCity que acaba sendo mais eficiente do que outros programas pelo fato de utilizar uma imagem para encontrar um determinado elemento.

Conclusão da Automação no Python com BotCity

Na aula de hoje eu te mostrei a automação no Python com BotCity para automatizar suas tarefas e processos!

Preparado para fazer sua automação de tarefas no Python e deixar seus trabalhos mais fáceis? Então é hora de praticar!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso gratuito?


Quer sair do zero no Power BI e virar uma referência na sua empresa? Inscreva-se agora mesmo no Power BI Impressionador