Este repositório contém um script Python para automatizar o desafio RPA disponível no site RPA Challenge. O projeto utiliza o framework da Botcity para interagir com o site e implementa o padrão de projeto Singleton para garantir a existência de apenas uma instância do navegador durante a execução.
O script automatiza o seguinte processo no site RPA Challenge:
- Acessa o site RPA Challenge.
- Faz o download do arquivo CSV contendo os dados.
- Preenche o formulário com os dados do CSV.
- Submete o formulário.
- Extrai e exibe o tempo total de execução e o número de registros inseridos. ( Aguardando implementação)
O padrão Singleton garante que apenas uma instância do navegador seja criada durante toda a execução do script. Isso é crucial para otimizar o desempenho e evitar conflitos de recursos, especialmente ao lidar com automações web.
A classe Input_forms implementa o padrão Singleton, permitindo que o script acesse a mesma instância do navegador em diferentes pontos da execução.
- Python 3.x
- botcity-framework-web>=0.8.0,<1.0
- pandas
- Webdriver do Chrome (certifique-se de que o webdriver seja compatível com a sua versão do Chrome)
-
Clone este repositório:
git clone https://github.com/seu-usuario/rpa-challenge-automation.git
-
Instale as dependências:
pip install -r requirements.txt
-
Baixe o Webdriver do Chrome compatível com sua versão do Chrome em https://chromedriver.chromium.org/downloads e coloque o executável na pasta do projeto ou em um local no seu PATH.
Para executar o script, navegue até o diretório do projeto e execute:
python bot.py
📁 Estrutura do Projeto └── main.py # Script principal que executa a automação └── input_forms.py # Implementação do padrão Singleton para o navegador └──pastas_arquivos # Implementaação funções que interagem com aquivos. └── requirements.txt # Arquivo com as dependências do projeto
Contribuições são bem-vindas! Sinta-se à vontade para abrir um pull request para:
- Implementar melhorias no código.
- Adicionar funcionalidades.
- Corrigir bugs.
- Melhorar a documentação.
Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE para obter mais detalhes.