Blog

Postado em em 7 de abril de 2022

Automação Web com BotCity no Python – Automação de Tarefas

Hoje eu quero te mostrar como fazer uma automação web com BotCity que é uma ferramenta incrível para automação na internet!

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

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

Automação web no Python

Você deve saber que aqui já fizemos algumas automações utilizando o Python, mas hoje nós vamos fazer uma automação web com BotCity.

Aqui no blog nós já fizemos a Automação de Tarefas com BotCity, agora vamos fazer essa automação na web para facilitar seus trabalhos também na internet!

Automação Web com Reconhecimento de Imagem

Na aula que eu falei nós já fizemos uma breve introdução a ferramenta, então é interessante que você dê uma olhada para entender que vamos fazer um reconhecimento de imagem no Python.

Isso quer dizer que não vamos precisar utilizar o xpath ou até mesmo a posição onde está uma informação.

Para isso nós vamos utilizar de fato o reconhecimento de imagem, ou seja, nós vamos através de uma imagem, encontrar o que estamos procurando, seja para pegar essa informação ou para preencher algo dentro de uma caixa.

OBS: É importante que você tenha o BotCity Studio instalado no seu computador, então para isso nós temos uma cartilha (disponível para download) ou você pode acessar o vídeo da automação de tarefas com BotCity que lá também explicamos essa parte!

Depois disso nós vamos ter que fazer uma configuração para criar um projeto e vincular o BotCity Studio com o nosso projeto do PyCharm.

Vale lembrar que essa ferramenta vai permitir com que você faça automações com reconhecimento de pedaços da tela (prints). Assim você vai poder fazer automações no seu computador quanto na internet.

O primeiro passo é abrir o terminal e fazer a instalação do cookie cutter, para isso basta escrever pip install cookiecutter.

Um ponto importante é que o cookie cutter ele usa o git, então é necessário que você também tenha o git instalado no seu computador.

Caso não tenha, não se preocupe, na cartilha também tem esse passo a passo para instalação do git!

Agora vamos fazer a importação do template padrão utilizando o comando cookiecutter + o link do template padrão (que está na cartilha).

Escolhendo o tipo de projeto
Escolhendo o tipo de projeto

Assim que escrever isso vai aparecer a opção para que você possa selecionar o tipo de projeto, como vamos fazer uma automação web vamos escrever a opção 2.

Depois disso você vai colocar o bot id. Isso é importante, pois é o nome da pasta que será criada e vai ser o nome do seu bot.

Em seguida você vai ter o nome do seu projeto, nesse caso vamos dar o mesmo nome do bot id. Por fim você vai poder atribuir uma descrição do seu projeto para que você entenda do que se trata.

Visualizando as pastas criadas e os arquivos
Visualizando as pastas criadas e os arquivos

Você vai notar que as pastas foram criadas e a pasta que tem um círculo no meio é o nosso bot, a outra pasta é o nosso projeto.

E o bot.py é o arquivo que nós vamos utilizar para fazer a nossa automação.

Código inicial do WebBot
Código inicial do WebBot

Esse é o código que nós vamos utilizas, mas se você reparar, temos algumas bibliotecas para que tudo funcione corretamente.

Para instalar todas as bibliotecas, você vai colocar pip install -e + o local onde o está arquivo setup.py.

Verificando a instalação das bibliotecas
Verificando a instalação das bibliotecas

Depois da instalação você vai notar uma basta com o nome que você deu + a extensão .egg-info, isso quer dizer que tudo foi instalado.

Outro ponto importante, que está até comentado no código é a questão do WebDriver, que é uma ferramenta para que o Python se conecte a internet.

OBS: Nesse post aqui nós falamos sobre o WebDriver onde comentamos os dois mais utilizados, que é um para o Google Chrome e outro para o FireFox.

É recomendável que você utilize o driver do Google Chrome, pois ele costuma ter uma interação melhor com os sites.

Habilitando o webdriver do Google Chrome
Habilitando o webdriver do Google Chrome

Nesse caso vamos retirar o comentário da linha marcada e acrescentar “./chromedriver.exe”.

Em seguida você pode alterar o site para o site que quiser, para o nosso exemplo nós vamos utilizar o site da Hashtag, que é https://www.hashtagtreinamentos.com/ agora é só rodar o código.

Com isso você vai ver que o Python vai abrir uma janela do seu navegador e vai acessar esse site!

Antes de começar a nossa automação só precisamos vincular o código ao BotStudio.

Inicialmente você vai notar que só vamos abrir o navegador, esperar 10 segundos e fechá-lo, então no meio desse processo é que vamos colocar a nossa automação.

Agora para vincular o código você vai precisar ir até a pasta onde instalou o BotStudio e rodar o arquivo BotStudio_2.10.2.bat (a versão pode ser que seja diferente).

Como você deve ter visto na aula anterior, assim que abrir o BotStudio você vai em File > New File e vai colocar as informações do seu projeto.

OBS: Se ainda não viu a aula anterior sugiro que veja para que consiga fazer as configurações corretamente.

Como você deve ter visto, você vai abrir a página que você quer acessar e depois vai tirar um print da tela. De fato, um print da tela mesmo.

Com isso esse print vai ser enviado para dentro do BotStudio e lá você vai poder clicar onde no site você precisa fazer uma seleção.

Depois disso você vai clicar 3 vezes, uma primeira para gerar um retângulo, uma segunda para identificar o final dessa marcação, incluindo o que precisa e um terceiro clique no ponto inicial para finalizar.

Selecionando o elemento e a ação a ser feita
Selecionando o elemento e a ação a ser feita

Aqui nós estamos acessando o site do Google e identificando onde está a lupa de pesquisa. Então depois de dar os 3 cliques, vai aparecer essa janela para você definir suas ações.

O primeiro passo é dar um nome ao ícone ou a posição da forma que quiser, contanto que fique fácil de entender depois.

Depois você vai escolher uma ação a ser feita. Como queremos buscar alguma coisa no site do Google você vai ter que clicar nessa lupa para começar a pesquisar, então basta selecionar a opção Click.

Código criado automaticamente
Código criado automaticamente

Você vai notar que dentro do BotStudio já foi criado um código para encontrar essa lupa e clicar nela.

Então você não vai ter que ficar escrevendo o código, a ideia é ir selecionando as informações com os prints para que o programa encontre a informação desejada e já escreva esse código pra você!

Claro que em alguns casos você vai precisar escrever, que é o caso da nossa busca agora, como vamos pesquisar uma informação no Google, vamos precisar enviar uma informação para dentro da caixa de busca do site.

IMPORTANTE: Antes de avançar você pode estar se perguntando, “mas como eu vou saber quais códigos utilizar?”. Isso é simples, no site do próprio BotCity você tem o framework web com todas as informações que você precisa, incluindo esses códigos iniciais que nós mostramos. Para acessar basta clicar aqui e buscar o que estiver precisando.

Código para escrever um texto e pressionar enter
Código para escrever um texto e pressionar enter

Para complementar o nosso código nós vamos colocar o paste, que é o comando para escrever, e em seguida o comando enter que é de fato para pressionar o enter.

IMPORTANTE: Vale lembrar que sempre que você atualizar as informações no BotStudio você precisa salvar o arquivo para que o PyCharm seja atualizado com esses códigos.

Automação Web com BotCity
Fazendo uma busca com a automação

Aqui nós conseguimos entrar no site e fazer a nossa busca, só que agora temos um “problema”, pois você vai querer a cotação do dólar, só que esse valor está sempre mudando.

Então você não vai conseguir simplesmente tirar um print e selecionar esse valor, pois o programa não vai encontrar.

Qual é a solução então? Você deve ter reparado que quando estamos utilizando o BotStudio uma das opções que temos é o Click_relative, que é um clique relativo.

Isso quer dizer que podemos escolher uma informação que é fixa e sempre aparecer e a partir dela encontrar o que queremos.

Você vai notar que o texto 1 Dólar americano igual a sempre aparece, então podemos utilizar essa parte como base para a nossa referência.

Automação Web com BotCity
Selecionando um elemento “fixo” na página

Quando fizer essa seleção e clicar em Submit vai aparecer uma linha vermelha partindo da nossa primeira seleção. Assim você vai conseguir selecionar a informação que você quer.

Automação Web com BotCity
Utilizando o clique relativo ao elemento fixo

Depois basta clicar onde você quer que o código será gerado. Só que nesse caso como nós queremos essa informação, você vai notar que um duplo clique seleciona essa informação.

Então vamos ter que fazer uma breve alteração trocando o self.click_relative por self.double_click_relative (esse comando existe na lista de comandos).

Automação Web com BotCity
Ajuste no código para o clique duplo

Então vamos ter o código para encontrar esse texto, depois para mover um pouco em relação a ele e dar um duplo clique.

Feito isso vamos copiar a informação e por fim guardar essa informação dentro de uma variável.

Pronto! Com isso você já conseguiu automatizar essa busca da cotação do dólar, agora você já sabe como fazer sua automação web.

Como temos um processo de automação por imagem fica muito mais fácil fazer esse processo e você já tem o auxílio dos códigos que são feitos automaticamente.

Só em alguns casos que você vai ter que fazer um ajuste ou escrever algo de forma manual para complementar o seu código.

Conclusão da Automação Web com BotCity

Nessa aula eu te mostrei como fazer uma automação web com BotCity, que é uma ferramenta incrível que te permite fazer essa automação através de imagens.

Agora você vai poder fazer sua automação no Python sem precisar informar a posição exata do elemento que precisa, com a imagem já vai conseguir encontrar esse elemento onde ele estiver!

Hashtag Treinamentos

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


Quer aprender mais sobre Python com um minicurso gratuito?


Quer receber um minicurso 100% gratuito de Excel? Preencha seu e-mail abaixo!