1. Tira o print
Cópia rápida da tela (cerca de 5 ms), inclusive com dois monitores.
Biblioteca Python
Você importa e chama. Localiza um botão ou um texto na tela, clica e digita. Se o passo falhar, refaz a ação anterior. Pensado para ERP, Oracle Forms, Delphi e Citrix no Windows.
region vs tela cheia
Você chama click_image("ok.png") ou click_text("Salvar").
A biblioteca tira um print da tela, procura o alvo e clica no meio dele.
Cópia rápida da tela (cerca de 5 ms), inclusive com dois monitores.
Você recorta o botão, salva o arquivo numa pasta (imagens/ok.png) e passa o caminho. A biblioteca procura essa figura na tela. Funciona mesmo se o Windows estiver com a tela aumentada (125% ou 150%).
Lê a tela com Tesseract. Padrão em inglês; use tesseract_lang="por" se a tela for em português.
Mouse e teclado. Com use_virtual_mouse o cursor não se move (Windows).
Com backtrack=True, refaz o passo anterior e tenta de novo. Também espera o alvo aparecer ou sumir.
Se o alvo não estiver na tela, o método devolve False ou None.
Vale if not vz.click_text("OK"). Erro de verdade só se faltar Tesseract
ou o arquivo PNG não existir.
Os métodos são os mesmos do bot-vision-suite 1.3.0
(click_image, click_text, backtrack…).
O que mudou é o jeito de achar o alvo na tela: mais rápido e mais
estável com a tela aumentada e com mais de um monitor.
| Antes (PyAutoGUI / BVS) | pyvizion | |
|---|---|---|
| Tirar o print | Lento (dezenas a centenas de ms) | Cerca de 5 ms |
| Achar imagem | Procura no print lento | Acha mesmo se o Windows estiver com a tela aumentada |
| Achar texto | Lê a tela inteira (caro) | Passe region e fica cerca de 6× mais rápido |
| Esperar o alvo | Cada tentativa paga o print lento | wait_until_found dá para usar de verdade |
| Zoom / 2 monitores | Clique no lugar errado; monitor da esquerda falha | Clica no lugar certo nos dois monitores |
| Métodos | 21 métodos no BotVision |
Os mesmos 21, mais janelas, click_any e CLI |
Os “5 ms” e o “6×” são do jeito que a biblioteca tira o print e lê só a área que você pediu, não de um teste oficial publicado.
Uma instalação. Tesseract no sistema. Depois, o mesmo código de sempre.
pip install pyvizion
python -m pyvizion doctor
Só Windows. Tesseract UB-Mannheim. Linux e macOS têm limitação.
from pyvizion import Vizion
vz = Vizion()
vz.click_image("menu.png", backtrack=True)
vz.click_text("Relatórios", backtrack=True)
vz.click_text("Confirmar", sendtext="{enter}")