找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5124

积分

0

好友

718

主题
发表于 2 小时前 | 查看: 3| 回复: 0

在日常工作中,面对重复的鼠标点击、键盘输入等任务,你是否渴望有一双“无形之手”替你完成?基于 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 脚本,它能记录目标系统的键盘输入、鼠标操作、屏幕截图甚至麦克风音频,并将数据发送到指定邮箱。

  • 功能特点:适用于评估信息系统的安全性,通过定时收集和发送用户操作数据,帮助发现身份验证、信息泄露等潜在安全风险。
  • 安装与使用
    1. 创建一个 Mailtrap(或类似服务)账户以获取 SMTP 凭证。
    2. 在脚本中配置 SMTP 用户名和密码。
    3. 安装必要的 Python 依赖包。
    4. 运行 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 自动化方案时遇到了问题,欢迎到 云栈社区 与更多开发者交流讨论。




上一篇:告别Jupyter脏状态,marimo一站式搞定Python数据分析、可视化与Web应用
下一篇:抖音集团发布2025年反舞弊通报:50余人因涉嫌舞弊被移送司法
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-10 07:48 , Processed in 0.687621 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表