Skip to main content

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


Download files

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

Source Distribution

josias-0.1.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

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

josias-0.1.0-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

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

Hashes for josias-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0ab86eaf3199d21e231578d77781d187af0fb1e58d8402fdaf3e9d94167cec7c
MD5 c63bede4c89db161ca9fa2b041fedd3c
BLAKE2b-256 0213697b7295a998b52886baa5c6e59b9f00f0705ec5648fa73fbc063253ffd9

See more details on using hashes here.

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

Hashes for josias-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be455f9922f0f39f153dbabf573727bc310f15bd3f3e3a66db2c2827814305e1
MD5 2cac3ca3bdf65b707e4d71624ce70dc6
BLAKE2b-256 84610febb29b68a276a9553bf83be47c696d66c85fae12af7344f2a4bb273aa8

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