Skip to main content

Core library for movva tech aplications.

Project description

movva-tech-library

Uma biblioteca de automação desktop focada em Windows, encapsulando e simplificando as funcionalidades do pywinauto e pyautogui.

Como inicializar

Para utilizar a biblioteca, basta importar e instanciar a classe DesktopRobot:

from movva_tech_library import DesktopRobot
from pathlib import Path

# Instanciando o robô
robot = DesktopRobot()

## Referência de Métodos

### Gerenciamento de Aplicações e Janelas

- **Iniciar uma aplicação:**
  ```python
  robot.start_application(path=r"C:\Caminho\Para\App.exe", backend="uia")
  • Conectar a uma aplicação em execução:

    robot.connect_application(title="Meu App", backend="uia")
    
  • Esperar por uma janela específica:

    robot.wait_for_window(title="Janela Principal", timeout=10)
    
  • Definir janela ativa: (Útil para buscar locators apenas dentro dessa janela)

    robot.set_active_window(title="Janela Principal")
    
  • Encerrar aplicação:

    robot.kill()
    

Interação com Elementos da Interface (Locators pywinauto)

Os métodos abaixo aceitam qualquer critério do pywinauto (ex: title, auto_id, control_type).

  • Clicar por locator:

    robot.click_by_locator(title="Botão Confirmar")
    
  • Duplo clique por locator:

    robot.double_click_by_locator(auto_id="btnDetalhes")
    
  • Obter texto de um elemento:

    texto = robot.get_text(auto_id="labelStatus")
    print(texto)
    

Interação por Imagens na Tela (pyautogui)

Recomenda-se o uso de caminhos absolutos para as imagens.

  • Clicar em uma imagem:

    # Opcional: usar offset_x e offset_y para clicar deslocado do centro da imagem
    image_path = str(BASE_DIR / "assets" / "botao.png")
    robot.click_by_image(image_path, confidence=0.9, timeout=10)
    
  • Esperar por uma imagem aparecer na tela:

    coordenadas = robot.wait_for_image(image_path, confidence=0.9, timeout=10)
    

Teclado e Digitação

  • Digitar texto: Pode focar em um elemento específico antes de digitar caso forneça um locator.

    # Digita livremente onde o cursor estiver
    robot.type_text("Olá Mundo", interval=0.05)
    
    # Foca no input primeiro e depois digita
    robot.type_text("Meu texto direto no campo", locator={"auto_id": "inputTexto"})
    
  • Pressionar teclas isoladas:

    robot.press_key("enter")
    robot.press_key("tab", presses=2)
    
  • Pressionar atalhos (hotkeys):

    robot.hotkey("ctrl", "c")
    robot.hotkey("alt", "f4")
    

Esperas (Timeouts e Pausas)

  • Pausa estática (não recomendado, use waits dinâmicos quando possível):
    robot.wait(2.5) # Aguarda 2.5 segundos
    

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

movva_tech_library-0.1.0.tar.gz (51.1 kB view details)

Uploaded Source

Built Distribution

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

movva_tech_library-0.1.0-py3-none-any.whl (120.3 kB view details)

Uploaded Python 3

File details

Details for the file movva_tech_library-0.1.0.tar.gz.

File metadata

  • Download URL: movva_tech_library-0.1.0.tar.gz
  • Upload date:
  • Size: 51.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for movva_tech_library-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b046df96972d1b14b98fd9b5f552923fbc2070a92f199545236b31f6cd3f6b9d
MD5 bee48785c41f7f50e061082730e993ad
BLAKE2b-256 3ba2e7fa3c2b2d13961abe3f12bc998d4b70a687242fc659c6f063e7c0532104

See more details on using hashes here.

Provenance

The following attestation bundles were made for movva_tech_library-0.1.0.tar.gz:

Publisher: release.yml on movva-tech/movva-tech-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file movva_tech_library-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for movva_tech_library-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a19a5291672a9191f2ec4d7d84be664824e681401fa4cb3b91dcf11c0607afeb
MD5 b6f8ea5a65aea6943517d03720444be5
BLAKE2b-256 eb3fd3fe91999294f0bde5075f7b35b705511098ea4a6c897180f53281d8dc52

See more details on using hashes here.

Provenance

The following attestation bundles were made for movva_tech_library-0.1.0-py3-none-any.whl:

Publisher: release.yml on movva-tech/movva-tech-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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