Skip to main content

Biblioteca para automatização web nos sistemas do Tesouro do Estado do Rio de Janeiro

Project description

Automação Web & Gerenciamento de Arquivos 🚀

Esta biblioteca Python foi desenvolvida para simplificar a criação de scripts de automação, combinando o poder do Selenium para interações web com utilitários práticos do Sistema Operacional para gerenciamento de arquivos e pastas.

O objetivo é fornecer uma interface de alto nível (mais legível e menos verbosa) para tarefas comuns de RPA (Robotic Process Automation).


🛠️ Funcionalidades Principal

A biblioteca está dividida em dois pilares fundamentais:

1. AutomacaoWeb (Navegação)

  • Gerenciamento de Driver: Inicialização otimizada do Microsoft Edge, incluindo suporte para modo Headless (segundo plano).
  • Controle de Abas: Abertura, troca e fechamento inteligente de abas.
  • Interações Avançadas: Cliques, digitação (com limpeza automática), Hover (passar o mouse) e seleção de dropdowns.
  • Tratamento de Esperas: Uso nativo de WebDriverWait para garantir que os elementos existam antes da interação, reduzindo erros de sincronismo.
  • Captura de Tela: Método integrado para screenshots de auditoria.
  • Suporte a Iframes: Facilidade para entrar e sair de contextos de frames.

2. FileExplorer (Sistema de Arquivos)

  • Manipulação de Arquivos: Mover, copiar, renomear e excluir arquivos com segurança.
  • Organização: Criação de diretórios recursivos e listagem filtrada por extensão.
  • Inteligência de Download: Função específica para localizar o arquivo mais recente em uma pasta (ideal para capturar downloads recém-concluídos).

📋 Pré-requisitos

Antes de usar, você precisará instalar as dependências necessárias:

pip install selenium

Nota: Certifique-se de ter o Microsoft Edge instalado e o msedgedriver compatível com sua versão do navegador em seu PATH.


🚀 Como Usar

Aqui está um exemplo rápido de como integrar as duas classes em um fluxo de automação:

from automacao import AutomacaoWeb, FileExplorer

# 1. Iniciar a automação web
web = AutomacaoWeb()
web.iniciar_driver(headless=False)

try:
    # Navegar e realizar download (exemplo hipotético)
    web.abrir_url("https://exemplo.com/relatorios")
    web.clicar("//button[@id='download_csv']")
    
    # 2. Gerenciar o arquivo baixado
    file_sys = FileExplorer()
    downloads_path = "C:/Users/Usuario/Downloads"
    
    # Localiza o arquivo CSV mais recente
    arquivo = file_sys.obter_arquivo_mais_recente(downloads_path, extensao=".csv")
    
    if arquivo:
        file_sys.mover_arquivo(arquivo, "C:/Projeto/Dados/processar.csv")
        print("Automação concluída com sucesso!")

finally:
    web.fechar_navegador()

📂 Estrutura do Código

Classe Descrição
AutomacaoWeb Encapsula a lógica do Selenium para interação com o DOM e o navegador.
FileExplorer Utiliza as bibliotecas os e shutil para manipulação de arquivos locais.

📝 Notas de Versão

  • Version 1.0: Lançamento inicial com suporte ao Edge.
  • Tratamento de Erros: Todos os métodos possuem blocos try-except para evitar interrupções abruptas e facilitar o debug via console.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupiter_subtes-0.1.3.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jupiter_subtes-0.1.3-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file jupiter_subtes-0.1.3.tar.gz.

File metadata

  • Download URL: jupiter_subtes-0.1.3.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for jupiter_subtes-0.1.3.tar.gz
Algorithm Hash digest
SHA256 d247d89bbeef65eae18e42ad04ce66c75400930d195b68c85561ca9841c44e23
MD5 3d7b280fb9c6c4624898cd9781a6cfe3
BLAKE2b-256 e8207ee840ee58f392c5c1f0ae4d25d549943c8a30d608ad3a10e565b4e7ad15

See more details on using hashes here.

File details

Details for the file jupiter_subtes-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: jupiter_subtes-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for jupiter_subtes-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9ef2d203107e3465a5abc846a0295b09f0158311bdf7bc505af44ceede613c71
MD5 64e3e7d25e04002c956f834d6122f8e4
BLAKE2b-256 3959a42d6c9cbeda2a4250486037f37aaba2aa9c106e6bd71a782d726a2b68bc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page