在日常工作中,面对重复的鼠标点击、键盘输入等任务,你是否渴望有一双“无形之手”替你完成?基于 Python 的自动化脚本正是为此而生。本文将深入剖析四款功能各异的 Python 自动化工具——PyAutoGUI、KeymouseGo、Keylogger 和 AutoKey,它们能有效解决 Windows、macOS 和 Linux 下的桌面自动化难题,助你大幅提升工作效率或完成特定测试任务。
1. PyAutoGUI:跨平台自动化的全能助手
PyAutoGUI 是一个功能强大的跨平台 Python 模块,允许你通过代码编程控制鼠标和键盘,堪称桌面自动化的“瑞士军刀”。其主要特点包括:
- 安装简便:仅需一条命令即可安装:
pip install pyautogui。
- 功能丰富:支持鼠标移动、点击、拖拽、滚动,以及键盘输入、热键操作和屏幕截图。它底层使用 Pillow 库处理图像,可以轻松实现基于图像的定位与操作。
- 多平台支持:兼容 Windows、macOS 和 Linux 系统。需要注意的是,在多显示器环境下其行为可能不太稳定,且在某些特定系统版本中可能需要额外处理。
- 使用示例:
import pyautogui
# 获取屏幕尺寸
screenWidth, screenHeight = pyautogui.size()
# 获取鼠标当前位置
currentMouseX, currentMouseY = pyautogui.position()
# 移动鼠标并点击
pyautogui.moveTo(100, 150)
pyautogui.click()
# 模拟键盘输入文本
pyautogui.write('Hello world!', interval=0.25)
项目地址: https://github.com/asweigart/pyautogui
2. KeymouseGo:轻量级录制与回放工具
如果你想要一个类似“按键精灵”、无需编写太多代码的方案,KeymouseGo 是一个不错的选择。它的核心功能是录制并回放你的鼠标和键盘操作。
- 功能概述:记录用户的所有鼠标移动、点击和键盘按键操作,并能精准地重复执行。支持设置循环执行次数,非常适合处理固定流程的重复性工作。
- 安装与使用:
- Windows/Linux/macOS:均需要先安装 Python3 及项目依赖,然后使用 PyInstaller 将其打包为可执行文件。
- 基本操作:工具提供图形界面,点击录制按钮开始记录你的操作,停止录制后,点击启动按钮即可自动复现。它也支持命令行模式,以脚本形式运行录制好的操作序列。
- 示例脚本(录制后的数据格式):
[
[3000,"EM","mouse right down",["0.05208%","0.1852%"]],
[50,"EM","mouse right up",["0.05208%","0.1852%"]],
[1000,"EK","key down",[70,"F",0]],
[50,"EK","key up",[70,"F",0]],
[100,"EM","mouse left down",["0.2604%","0.4630%"]],
[100,"EM","mouse move",["0.2604%","0.5556%"]],
[100,"EM","mouse left up",["0.3125%","0.5556%"]],
[100,"EX","input","你好 world"]
]
项目地址: https://github.com/taojy123/KeymouseGo
3. Keylogger:用于安全测试的键盘记录工具
请注意,此工具具有特定用途,请仅在合法授权的安全测试环境中使用。Keylogger 是一个专门设计用于安全测试的 Python 脚本,它能记录目标系统的键盘输入、鼠标操作、屏幕截图甚至麦克风音频,并将数据发送到指定邮箱。
- 功能特点:适用于评估信息系统的安全性,通过定时收集和发送用户操作数据,帮助发现身份验证、信息泄露等潜在安全风险。
- 安装与使用:
- 创建一个 Mailtrap(或类似服务)账户以获取 SMTP 凭证。
- 在脚本中配置 SMTP 用户名和密码。
- 安装必要的 Python 依赖包。
- 运行
keylogger.py。
- 注意事项:为了保持隐蔽性,该程序包含自删除机制,一旦被用户发现可疑行为,它会尝试清除自身痕迹。
项目地址: https://github.com/aydinnyunus/Keylogger
4. AutoKey:Linux 桌面环境下的自动化专家
如果你的工作流主要在 Linux 桌面环境下,那么 AutoKey 将是你的得力助手。它专为 X11 环境设计,提供了强大的脚本支持。
- 功能概述:AutoKey 允许你创建和管理自动化脚本,实现键盘快捷键触发、自动文本替换(如输入缩写展开为长句子)、以及宏录制与播放。它非常适合在 Linux 下进行复杂的、个性化的自动化操作。
- 安装说明:安装前请确保移除任何旧版本,具体步骤请参考其官方 Wiki 文档。
- 重要限制:AutoKey 依赖于 X11 窗口系统,目前不支持 Wayland 显示服务器。
项目地址: https://github.com/autokey/autokey
总结
面对不同的自动化需求,这四款基于 Python 的工具提供了多样化的选择:
- PyAutoGUI 提供了最全面和编程化的控制能力,适合开发复杂的自动化脚本。
- KeymouseGo 凭借其“录制-回放”特性,上手最快,适合快速自动化简单重复操作。
- Keylogger 定位特殊,是进行安全审计和测试的专用工具。
- AutoKey 则是 Linux 桌面用户提升操作效率的神器。
选择合适的工具,能将你从枯燥的重复劳动中解放出来。如果你在探索这些工具或其它 运维/DevOps/SRE 自动化方案时遇到了问题,欢迎到 云栈社区 与更多开发者交流讨论。
|