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.1.tar.gz (51.2 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.1-py3-none-any.whl (120.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: movva_tech_library-0.1.1.tar.gz
  • Upload date:
  • Size: 51.2 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.1.tar.gz
Algorithm Hash digest
SHA256 bc7d95b16a4b0a64fd989ff200e7e28976818617ec25a42f603397e35c4454e4
MD5 3733aa0651033186fe69e2a544de5b5f
BLAKE2b-256 3108409baa330c60dec9c296e35f177619cdef3d75cfb86189beb9c9842a3efb

See more details on using hashes here.

Provenance

The following attestation bundles were made for movva_tech_library-0.1.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for movva_tech_library-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 de3bc39a710e82e060bd7a9159c84729688883a0f1a726f53e3f05826b0de4a6
MD5 97f69eaa6d6a200dde0fd14bfdb0ecbe
BLAKE2b-256 1d4a0c467999dab7aed7f70c8760cc09e1667ff69b973949d3259f00097cd002

See more details on using hashes here.

Provenance

The following attestation bundles were made for movva_tech_library-0.1.1-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