Biblioteca Python de automação web com Selenium e visão computacional.
Project description
Josias
Biblioteca Python para automação web com Selenium e visão computacional — simples, limpa e pronta para escalar.
Parte do ecossistema Josias, uma plataforma completa de automação RPA.
Instalação
pip install josias
# Com OCR (requer Tesseract instalado no sistema)
pip install josias[vision]
# Desenvolvimento local
pip install -e ".[dev,vision]"
Pré-requisitos
- Python 3.10+
- Google Chrome, Firefox ou Edge
- Tesseract OCR — necessário apenas para recursos de OCR
Uso rápido
from josias import Josias
with Josias() as bot:
bot.open("https://example.com")
# DOM — seletores CSS simples
bot.click("#login")
bot.type("#email", "usuario@email.com")
bot.type("#password", "senha123", submit=True)
# Esperas
bot.wait_for("#dashboard")
# Visão computacional (OCR + imagem)
bot.click_text("Confirmar")
bot.click_image("assets/botao_ok.png")
Seletores
| Formato | Exemplo | Descrição |
|---|---|---|
| CSS (padrão) | "#login", ".btn" |
Seletor CSS |
| XPath | "xpath://button" |
XPath explícito |
| ID | "id:username" |
Por atributo id |
| Texto | "text:Entrar" |
Por texto visível na página |
Configuração
from josias import Josias, Config, VisionConfig
from josias.types import Browser
config = Config(
browser=Browser.CHROME,
headless=True,
window_size=(1920, 1080),
default_timeout=15.0,
vision=VisionConfig(
confidence_threshold=80.0,
tesseract_lang="por",
),
)
with Josias(config) as bot:
bot.open("https://example.com")
Tarefas com backtrack
Execute sequências de ações com retry automático entre etapas:
with Josias() as bot:
bot.open("https://app.exemplo.com")
bot.run([
{"text": "Login", "sendtext": "usuario", "backtrack": True},
{"text": "Senha", "sendtext": "123456", "backtrack": True},
{"image": "submit.png", "backtrack": True, "confidence": 0.9},
])
Arquitetura
src/josias/
├── bot.py # Classe principal
├── config.py # Configuração centralizada
├── browser/ # Gerenciamento Selenium
├── dom/ # Seletores e interação DOM
├── vision/ # OCR e detecção de imagem
├── actions/ # Mouse, teclado e tarefas
└── waits.py # Esperas explícitas
Publicação no PyPI
python -m build
python -m twine check dist/*
python -m twine upload dist/*
Ou crie uma Release no GitHub — o workflow publica automaticamente via Trusted Publishing.
Roadmap
- Core Selenium com API simplificada
- Visão computacional (OCR + imagem)
- Executor de tarefas com backtrack
- Orquestrador Josias
- Plugins (Excel, AWS, e-mail)
- CLI e deploy de bots
Licença
MIT — veja LICENSE.
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 josias-0.1.0.tar.gz.
File metadata
- Download URL: josias-0.1.0.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ab86eaf3199d21e231578d77781d187af0fb1e58d8402fdaf3e9d94167cec7c
|
|
| MD5 |
c63bede4c89db161ca9fa2b041fedd3c
|
|
| BLAKE2b-256 |
0213697b7295a998b52886baa5c6e59b9f00f0705ec5648fa73fbc063253ffd9
|
File details
Details for the file josias-0.1.0-py3-none-any.whl.
File metadata
- Download URL: josias-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be455f9922f0f39f153dbabf573727bc310f15bd3f3e3a66db2c2827814305e1
|
|
| MD5 |
2cac3ca3bdf65b707e4d71624ce70dc6
|
|
| BLAKE2b-256 |
84610febb29b68a276a9553bf83be47c696d66c85fae12af7344f2a4bb273aa8
|