autopy-legacy 键盘模块:3 个方法搞定 Python 键盘模拟与快捷键自动化

📅 2026/8/24 1:21:39
autopy-legacy 键盘模块:3 个方法搞定 Python 键盘模拟与快捷键自动化
autopy-legacy 键盘模块3 个方法搞定 Python 键盘模拟与快捷键自动化【免费下载链接】autopy-legacyDEPRECATED: Replaced by https://github.com/autopilot-rs/autopy项目地址: https://gitcode.com/gh_mirrors/au/autopy-legacy如果你也反复填过同一张表单、反复点过同一组快捷键就需要 Python 模拟键盘。autopy-legacy 是一个跨平台的 GUI 自动化工具包它的 key 模块专门干三件事模拟按下按键、按住按键不放、整句输入文字。它直接在系统层面模拟真实按键不依赖任何具体的应用程序窗口。这篇 autopy 使用教程就讲键盘模块。三步先跑起来 第一步拿到代码并构建。key 模块是 C 扩展装之前要在本地编译一次git clone https://gitcode.com/gh_mirrors/au/autopy-legacy cd autopy-legacy python setup.py install第二步导入键盘模块import autopy.key第三步按下你的第一个键——按一下字母 aautopy.key.tap(a)到这一步Python 模拟键盘的完整链路你已经走通了。接下来把三种按键方式逐个拆开讲。三种按法各管一件事 ⌨️键盘模块一共就暴露 3 个方法tap、toggle、type_string。不用管底层实现记住什么目的用哪个就够了。按一下松手taptap 接收一个要按的键替你完成按下再释放的完整动作是最常用的那个。autopy.key.tap(autopy.key.K_F5) # 刷新页面 autopy.key.tap(autopy.key.K_ESCAPE) # 关掉对话框普通字符直接传字符串特殊键用 K_ 开头的常量K_RETURN 是回车K_BACKSPACE 是退格K_HOME、K_PAGEUP 管定位翻页K_F1 到 K_F12 是功能键。拿不准某个常量叫什么可以翻 按键模块源码全部列在那里。凡是按一下就算数的动作——确认对话框、翻页、刷新都用它。按住不放toggle需要先按下去、过一会儿再松手时用 toggle。第二个参数是布尔值True 表示按住False 表示松开。autopy.key.toggle(autopy.key.K_RIGHT, True) # 按住右方向键 time.sleep(2) # 保持 2 秒 autopy.key.toggle(autopy.key.K_RIGHT, False) # 松开效果相当于手指一直压在键上不抬起。适合的场景游戏里按住方向键持续移动或者终端里长按退格快速清行。整句输入type_string要敲一整句话甚至一整段文字时别自己逐键循环。autopy.key.type_string(hello autopy, wpm100)wpm表示每分钟多少词传 0 则以最快速度敲完。填注册表单、登录框用它最顺手配合一个偏低的 wpm 值还能模拟出接近人类打字的节奏。三个方法讲完基本覆盖了你想要的键盘动作。但自动化的真正价值在下面这部分——快捷键组合。快捷键自动化autopy 里 CtrlC 这样写 ⚡你日常敲得最多的快捷键大概是 CtrlC 复制、CtrlV 粘贴、CtrlZ 撤销吧在 autopy 里写法很有规律主键放第一个参数修饰键放第二个参数。autopy.key.tap(c, autopy.key.MOD_CONTROL) # 复制 autopy.key.tap(v, autopy.key.MOD_CONTROL) # 粘贴 autopy.key.tap(z, autopy.key.MOD_CONTROL) # 撤销修饰键超过一个时用按位或|拼起来。重做组合 CtrlShiftZ 就是autopy.key.tap(z, autopy.key.MOD_CONTROL | autopy.key.MOD_SHIFT)可用的修饰键共四个MOD_CONTROLCtrl、MOD_SHIFTShift、MOD_ALTAlt、MOD_METAWindows 键或 Mac 的 Command 键另有一个 MOD_NONE 表示不加修饰。记住一句口诀轻按的那个键进第二个参数用|串起来。到这里CtrlA 全选 → CtrlC 复制 → CtrlV 粘贴这种真实流程已经能串起来了。动手之前先看四个最容易踩的坑。避坑清单 ⚠️输入中文时没反应或者乱码。原因是 type_string 只接受 ASCII 字符串源码注释里写明了这一点。处理中文内容先拆字或转成拼音再输入别指望一句话直接打出来。脚本在你电脑上能跑换台机器按键就没反应。原因是 autopy 依赖操作系统的底层输入通道Linux 上要 X11 和 XTest 扩展macOS 上要给终端授权辅助功能。处理先在目标机器上装好对应依赖再跑完整流程。键是按下去了目标程序却愣住没反应。原因是模拟速度远快于程序界面刷新键到得太早。处理步骤之间加time.sleep()0.5 秒起步通常就够。脚本崩溃后某个键被卡住一直按着。原因是 toggle(..., True) 之后程序中途退出没来得及松开。处理在 finally 或异常处理里兜底无条件再 toggle(..., False) 释放一次。写在最后autopy-legacy 的键盘模块只有 3 个方法tap 管按一下toggle 管按住type_string 管打一段快捷键则是主键 修饰键的固定搭配。这三样拼在一起日常绝大多数的键盘自动化场景都能覆盖。下一步建议你把 autopy.mouse 鼠标模块也拉进来键盘加鼠标配合才是一条完整的自动化流水线。【免费下载链接】autopy-legacyDEPRECATED: Replaced by https://github.com/autopilot-rs/autopy项目地址: https://gitcode.com/gh_mirrors/au/autopy-legacy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考