Mouse 鼠标控制库:Python 鼠标自动化与操作指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

简介

鼠标控制是用户界面自动化交互中的关键环节。无论是自动化测试、脚本编写、游戏脚本还是自动化工具,都需要程序化地移动指针、模拟点击以及捕获用户操作。在 Python 中,mouse 库是实现这些功能的绝佳选择。

mouse 库提供了简洁直观的 API 用于鼠标操作:事件监听、点击执行、动作录制与回放。它支持跨平台开发,安装简单,既可用于独立脚本,也适用于复杂的 RPA 项目。

安装与配置 mouse 库

通过 pip 安装

pip install mouse

系统要求与权限

在 Linux 和 macOS 上,可能需要以管理员身份运行或授予输入控制权限。

Linux 系统:

sudo pip install mouse

macOS 系统: 需要在“安全性与隐私” → “辅助功能”中授予权限。

Windows 系统: 部分功能需要以管理员权限运行。

架构与工作原理

核心组件

mouse 库由以下几个关键组件构成:

  • Controller(控制器) — 控制光标并模拟操作
  • Listener(监听器) — 监听鼠标事件
  • Recorder(录制器) — 录制与回放宏操作
  • Event System(事件系统) — 事件处理机制

支持平台

  • Windows(通过 Windows API)
  • macOS(通过 Cocoa)
  • Linux(通过 X11/Wayland)

库的主要功能

鼠标操作模拟

mouse 既能捕获用户操作(监听器模式),也能模拟移动和点击(控制器模式)。

主要功能:

  • 监听按键按下与释放
  • 获取光标位置
  • 程序化点击与滚动
  • 移动光标
  • 鼠标快捷键
  • 录制与回放宏操作

事件类型

该库处理以下事件类型:

  • ButtonEvent(按钮事件) — 按键按下/释放
  • MoveEvent(移动事件) — 光标移动
  • WheelEvent(滚轮事件) — 滚轮滚动

光标控制与定位

移动光标

import mouse

# 绝对定位
mouse.move(100, 200)

# 相对移动
mouse.move(50, 0, absolute=False)

# 平滑移动(带延迟)
mouse.move(300, 400, duration=1.0)

获取当前坐标

# 获取光标位置
x, y = mouse.get_position()
print(f"光标当前位置:({x}, {y})")

# 在条件判断中使用
if mouse.get_position()[0] > 500:
    print("光标在屏幕右侧")

模拟点击与操作

基本点击类型

# 左键点击
mouse.click('left')
mouse.left_click()

# 右键点击
mouse.click('right')
mouse.right_click()

# 中键点击
mouse.click('middle')
mouse.middle_click()

# 双击
mouse.double_click()

按坐标点击

# 在指定坐标点击
mouse.click('left', (300, 400))

# 点击前保存位置
original_pos = mouse.get_position()
mouse.click('left', (100, 100))
mouse.move(*original_pos)

按住与释放

推荐