Introdução
O controle do mouse é um aspecto essencial da automação de interações com a interface do usuário. Em muitas tarefas, como testes automatizados, scripts, bots de jogos ou utilitários de automação, é necessário mover o ponteiro programaticamente, simular cliques e capturar ações do usuário. No Python, a biblioteca mouse é perfeita para isso.
A biblioteca mouse oferece uma API simples e direta para trabalhar com o mouse: monitoramento de eventos, execução de cliques, gravação e reprodução de movimentos. Ela é adequada para desenvolvimento multiplataforma, fácil de instalar e usada tanto em scripts isolados quanto em projetos complexos de RPA.
Instalação e configuração da biblioteca mouse
Instalação via pip
pip install mouse
Requisitos de sistema e permissões
No Linux e macOS, pode ser necessário executar como administrador ou conceder permissões para controle de entrada.
Para Linux:
sudo pip install mouse
Para macOS: É necessário conceder acesso em Security & Privacy → Accessibility.
Para Windows: Alguns recursos exigem execução como administrador.
Arquitetura e princípios de funcionamento
Componentes principais
A biblioteca mouse consiste em vários componentes-chave:
- Controller — controle do cursor e simulação de ações
- Listener — monitoramento de eventos do mouse
- Recorder — gravação e reprodução de macros
- Event System — sistema de processamento de eventos
Plataformas suportadas
- Windows (via Windows API)
- macOS (via Cocoa)
- Linux (via X11/Wayland)
Principais recursos da biblioteca
Simulação de ações do mouse
O mouse funciona tanto no lado da captura de ações do usuário (listener) quanto como um simulador de movimentos e cliques (controller).
Funções principais:
- Monitoramento de pressionamentos e liberações de botões
- Determinação da posição do cursor
- Cliques e rolagem programáticos
- Movimentação do cursor
- Teclas de atalho do mouse
- Gravação e reprodução de macros
Tipos de eventos
A biblioteca processa os seguintes tipos de eventos:
- ButtonEvent — pressionar/soltar botões
- MoveEvent — movimentação do cursor
- WheelEvent — rolagem da roda
Controle do cursor e posicionamento
Movimentação do cursor
import mouse
# Posicionamento absoluto
mouse.move(100, 200)
# Movimento relativo
mouse.move(50, 0, absolute=False)
# Movimento suave com atraso
mouse.move(300, 400, duration=1.0)
Obtendo coordenadas atuais
# Obtendo a posição do cursor
x, y = mouse.get_position()
print(f"Cursor está na posição: ({x}, {y})")
# Usando em condições
if mouse.get_position()[0] > 500:
print("Cursor está no lado direito da tela")
Simulação de cliques e ações
Tipos principais de cliques
# Clique esquerdo
mouse.click('left')
mouse.left_click()
# Clique direito
mouse.click('right')
mouse.right_click()
# Clique do meio
mouse.click('middle')
mouse.middle_click()
# Clique duplo
mouse.double_click()
Cliques em coordenadas específicas
# Clique em coordenadas específicas
mouse.click('left', (300, 400))
# Salvando posição antes do clique
original_pos = mouse.get_position()
mouse.click('left', (100, 100))
mouse.move(*original_pos)
Segurar
Também na biblioteca
Testes em C++: visão geral de frameworks e ferramentas (Google Test, Catch2, doctest)
Autorização e autenticação em PHP: guia completo com exemplos
ExcelJS para JavaScript (Node.js): guia completo com exemplos práticos
Cliente Redis para PHP: Predis e PhpRedis – conexão e exemplos