Skip to content

David-Cunha/python-selenium-report-monitor

Repository files navigation

Python License: MIT Selenium RPA Web Scraping Automation

🤖 RPA Report Monitor: Automação Web e Data Scraping com Python

Este projeto é uma demonstração prática de RPA (Robotic Process Automation) e Web Scraping. Trata-se de um bot inteligente, construído em Python e Selenium, projetado para extrair dados e monitorar relatórios web de forma contínua, otimizando processos e garantindo agilidade na tomada de decisão.


🎯 Problema de Negócio

Em ambientes corporativos, a verificação manual e repetitiva de sistemas para identificar atualizações de dados é um grande gargalo de produtividade.

  • Consome horas de trabalho humano.
  • Introduz risco de erros e atrasos.
  • Compromete a integridade dos dados e a capacidade de resposta da equipe.

Automatizar esse processo é essencial para otimizar processos e reduzir riscos.


🛠️ Arquitetura e Metodologia

A solução segue princípios de Programação Orientada a Objetos (POO), garantindo código limpo, modular e escalável.

Pipeline de automação:

  1. Gerenciamento de Configuração:

    • Carregamento seguro de credenciais, URLs e parâmetros a partir de um arquivo .ini.
    • Boas práticas: separação de código e configuração.
  2. Autenticação e Navegação Complexa:

    • Selenium WebDriver para login e navegação em páginas dinâmicas (AJAX, iframes, múltiplas abas).
  3. Loop de Monitoramento e Data Scraping:

    • Extração contínua de dados relevantes.
    • Comparação de estados anteriores para detectar alterações.
    • Atualização de dados via JavaScript quando necessário.
  4. Tratamento de Erros e Notificação:

    • Logging detalhado para auditoria.
    • Alertas sonoros quando alterações são detectadas.

🚀 Stack de Tecnologias e Habilidades

Linguagem & Core

  • Python 3.9+: linguagem principal, robusta e com amplo ecossistema.

Automação e Web Scraping

  • Selenium WebDriver: automação de interações com o navegador.
  • webdriver-manager: gerenciamento automático de drivers.
  • Competências: extração de dados, manipulação de DOM, JavaScript, páginas dinâmicas (AJAX).

Engenharia de Software

  • POO: classes como ConfigManager, Notifier e SSWMonitor.
  • Logging & Error Handling: rastreabilidade e tratamento de exceções.
  • Ambientes virtuais (venv) para isolamento de dependências.
  • Gerenciamento de configuração: separação entre dados sensíveis e código-fonte.

⚙️ Como Executar

Pré-requisitos:

  • Python 3.9+
  • Git
  • Google Chrome

Passos para execução:

  1. Clone o repositório:
git clone https://github.com/SeuUsuario/RPA-Report-Monitor.git
cd RPA-Report-Monitor
  1. Crie e ative um ambiente virtual:
python -m venv venv
source venv/bin/activate   # Linux/Mac
venv\Scripts\activate      # Windows
  1. Instale as dependências:
pip install -r requirements.txt
  1. Configure o ambiente: Renomeie config.ini.example para config.ini. Preencha suas credenciais e parâmetros.

  2. Execute o robô:

python main.py

🌟 Próximos Passos

Melhorias futuras podem incluir:

  • Modo Headless: rodar em servidores sem interface gráfica.
  • Containerização com Docker: facilitar deploy em qualquer ambiente.
  • Testes Unitários com pytest: garantir robustez e manutenibilidade.
  • Integração CI/CD: automatizar testes e builds com GitHub Actions.

Autor: David Nascimento License: MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published