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
WebDriverWaitpara 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-exceptpara evitar interrupções abruptas e facilitar o debug via console.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jupiter_subtes-0.1.5.tar.gz.
File metadata
- Download URL: jupiter_subtes-0.1.5.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab60e7463c644976a9b06ae6d902f091c5f426df09be218d89effbd1285ce6c3
|
|
| MD5 |
9f8f02b8afa37cf601f370e1253a46c5
|
|
| BLAKE2b-256 |
b70f73c377ecf25575ca0e48ab80b269ce1997759f08fc7ccb9145d5e4064960
|
File details
Details for the file jupiter_subtes-0.1.5-py3-none-any.whl.
File metadata
- Download URL: jupiter_subtes-0.1.5-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b24a25cc8e193885ab577165eaf8328ff7c8ad4c6fa077305899b0f5bbbe0849
|
|
| MD5 |
498f74cc220cb368296f2f05366b765d
|
|
| BLAKE2b-256 |
b2a89dc831f61b27de126d9b6d16f5092ef21f679bf0e220d999d1391d7c8f20
|