Ir para o conteúdo

3: Criar um projeto

Automações Web permitem acessar a DOM de uma página, interagir com os elementos e extrair e incluir informações de forma automatizada.

Além disso, quando utilizamos o framework BotCity Web, podemos configurar o navegador em modo headless, ou seja, sem interface gráfica, tornando a execução mais rápida e leve, possibilitando a execução de várias automações em paralelo.

Criar um projeto usando o template

A BotCity oferece templates de projeto que podem ser criados e customizados através do cookiecutter.

Para instalar o pacote do cookiecutter, execute o seguinte comando:

python -m pip install --upgrade cookiecutter

Para criar um projeto usando o modelo, invoque o comando cookiecutter e forneça como argumento a URL do repositório onde os templates da BotCity estão localizados:

python -m cookiecutter https://sdk.botcity.dev/templates/python/v2.zip

O sistema solicitará algumas respostas para criar seu projeto:

  • project_type: 2 | Tipo de projeto Desktop.
  • bot_id: bot-rh | Nome do projeto.

Após o término do processo acima, uma nova pasta chamada bot-rh estará disponível.

Sucesso

Parabéns, você agora tem um projeto com o framework Python da BotCity. 🏆

Agora inspecione os detalhes deste projeto.

Explorar o projeto

Dentro da nossa pasta do projeto bot-rh você deverá ter a seguinte estrutura:

bot-rh
├── bot.py                  <- Arquivo onde iremos trabalhar e desenvolver nosso robô.
├── resources               <- Pasta contendo os arquivos auxiliares para o robô.
├── build.bat               <- Script em Batch para gerar o pacote.
├── build.ps1               <- Script em PowerShell para gerar o pacote.
├── build.sh                <- Shell script para gerar o pacote.
├── requirements.txt        <- Arquivo descrevendo todas as dependências externas para seu robô.
└── bot-rh.botproj   <- Arquivo utilizado para carregar o projeto no BotStudio.

Nota

O template de projeto é composto por vários arquivos e pastas, porém aqui estão os mais importantes:

  • bot.py: Altere este arquivo e adicione aqui seu código.
  • resources: Adicione nesta pasta os arquivos a serem utilizados por seu robô como imagens, planilhas e etc.
  • requirements.txt: Altere este arquivo e adicione todas as dependências externas que serão utilizadas no código.

Sucesso

Toda essa informação é bem legal, mas é hora de vermos alguma ação.

Vamos testar nosso robô localmente. 🦾🤖

Testar o projeto localmente

Para testar o projeto localmente, instale as dependências do Python que estão sendo utilizadas no projeto.

Criar um ambiente virtual

Para criar um ambiente virtual, acesse a pasta bot-rh que criada na etapa anterior e a partir desta pasta execute o seguinte comando no terminal:

python -m venv venv

Isso criará uma pasta chamada venv dentro do seu projeto, onde todas as dependências do Python serão instaladas. Para ativar o ambiente virtual, utilize o seguinte comando:

venv\Scripts\activate
source venv/bin/activate

Configurar o WebDriver

Para trabalhar com automações web, precisamos usar o WebDriver correspondente ao navegador que está sendo utilizado na automação.

Utilizaremos o navegador Firefox para essa automação, portanto vamos fazer algumas configurações.

  • Instalar o Firefox: Certifique-se de que o navegador Firefox está instalado em sua máquina. Você pode baixá-lo do site oficial Mozilla Firefox.
  • Utilizar o WebDriver: Utilizaremos uma biblioteca python chamada webdriver-manager, que baixa e configura o WebDriver automaticamente pelo código. Para isso vamos alterar os seguintes arquivos:

    • requirements.txt:

    Adicione a linha destacada.

    botcity-framework-web>=1.0,<2.0
    botcity-maestro-sdk>=0.5.1,<1.0
    webdriver-manager
    
    • bot.py:

    Adicione o import na parte superior do código;

    Altere as 2 linhas de configuração destacadas dentro da função main.

    from webdriver_manager.firefox import GeckoDriverManager
    
    def main():
        bot = WebBot()
    
        # Configure whether or not to run on headless mode
        bot.headless = False
    
        # Uncomment to change the default Browser to Firefox
        bot.browser = Browser.FIREFOX
    
        # Uncomment to set the WebDriver path
        bot.driver_path = GeckoDriverManager().install()
    

Instalar as dependências do projeto

Com o ambiente venv ativado, utilize a linha de comando abaixo para instalar as dependências definidas no arquivo requirements.txt:

python -m pip install --upgrade -r requirements.txt

Este comando vai produzir uma saída grande, referente à instalação de todas as dependências como o botcity-framework-web e outras.

Assim que este processo terminar, seu projeto está pronto para ser executado.

Executar seu robô

O projeto de template roda um código de exemplo bem simples, que apenas abre seu navegador padrão e carrega a página da BotCity.

Ainda utilizando o terminal, dentro da pasta do projeto, você pode executar sua automação bot-rh com o seguinte comando:

python bot.py

Dica

Você também pode utilizar o botão de RUN sua IDE favorita para executar seu projeto localmente, porém tenha atenção para que executar dentro do ambiente virtual criado.

Aqui está uma captura de tela do resultado esperado:

Python Desktop Result

🌟 Excelente 🌟

Nessa etapa o projeto está devidamente criado e configurado. Agora, comece a construir o processo de automação.

Instalando Extensão BotCity Studio no VSCode:

Com a extensão BotCity Studio, você terá acesso às ferramentas:

  • Computer Vision
  • Web Inspector
  • Windows API Inspector

As ferramentas estão disponíveis como uma extensão do Visual Studio Code e podem ser instalada através da aba de extensões ou através do Marketplace do VSCode.

Vamos instalar a extensão da BotCity diretamente no VSCode seguindo os passos abaixo:

  • Abra o VSCode
  • Clique na opção Extensões
  • Digite na barra de pesquisa BotCity
  • Clique em Instalar

Extensão BotCity

Após instalar a extensão, o atalho do BotCity Studio fica visível no menu lateral esquerdo do editor de código, como mostrado na imagem abaixo:

Atalho

Com a extensão Instalada, vamos para a etapa de login na ferramenta.

  • Clique no atalho da BotCity Studio
  • Clique em Account para abrir o menu
  • Clique em Login

Botão Account

Botão Login

Veja no Output do VSCode indicará que a extensão foi inicializada, imprimindo a mensagem semelhante a da imagem abaixo:

welcome

Em seguida, você será redirecionado para a página de login da BotCity. Basta clicar no Botão login, e em seguida, digitar o e-mail e senha nos campos requisitados para autenticar na ferramenta.

Autenticação

Após efetivar o login, a tela de confirmação é mostrada no navegador:

Autenticação

Pronto! Com a extensão devidamente instalada você já pode utilizá-la.