PyAutoGUI 第2章 键盘全功能操作教程
PyAutoGUI 键盘全功能操作教程核心2说明本教程为 PyAutoGUI 核心操作专项教程聚焦键盘全功能操作包含详细参数说明、实操代码、注意事项适配新手入门可直接复制代码调试运行。所有操作均基于 PyAutoGUI 基础环境已安装完成若未安装可参考基础教程完成环境配置中文输入需额外安装 pyperclip 库。2.1 文本输入PyAutoGUI 提供多种文本输入方式可满足英文、中文输入需求同时支持设置输入间隔避免因输入过快被系统检测为异常操作适配各类场景。1. 英文输入write() / typewrite()作用向当前激活的输入框如记事本、浏览器地址栏输入英文、数字、符号两个方法功能完全一致可互换使用typewrite() 为旧版本方法write() 为新版本推荐方法。语法pyautogui.write(text, interval0)pyautogui.typewrite(text, interval0)参数说明text必传参数要输入的英文、数字、符号字符串格式interval可选参数每个字符的输入间隔单位秒默认 0瞬间输入设置后可实现慢速输入。示例代码importpyautoguiimporttime# 基础配置提升脚本稳定性pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 瞬间输入英文文本无间隔pyautogui.write(Hello PyAutoGUI! 123456)time.sleep(1)# 2. 慢速输入每个字符间隔0.2秒防检测pyautogui.write(I love Python programming.,interval0.2)time.sleep(1)# 3. 旧方法 typewrite()与 write() 功能一致pyautogui.typewrite(PyAutoGUI Keyboard Tutorial,interval0.1)2. 中文输入解决方案pyperclip 剪贴板复制粘贴注意PyAutoGUI 的 write()/typewrite() 方法不支持直接输入中文需借助 pyperclip 库剪贴板操作实现中文输入步骤为复制中文文本 → 粘贴到输入框。前置操作安装 pyperclip 库命令行输入pip install pyperclip。核心逻辑用 pyperclip.copy() 复制中文 → 用 pyautogui.hotkey() 调用“CtrlV”粘贴实现中文输入。示例代码中文输入完整流程importpyautoguiimportpyperclip# 导入剪贴板库importtime pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 打开记事本模拟输入场景可替换为其他输入框# 假设记事本图标坐标为 (100, 200)双击打开pyautogui.moveTo(100,200,duration1)pyautogui.doubleClick()time.sleep(2)# 等待记事本打开# 2. 中文输入剪贴板复制粘贴法chinese_textPyAutoGUI 键盘操作教程支持中文输入pyperclip.copy(chinese_text)# 复制中文文本到剪贴板pyautogui.hotkey(ctrl,v)# 粘贴文本CtrlVtime.sleep(1)# 3. 中英文混合输入mix_text中文EnglishPyAutoGUI 真好用pyperclip.copy(mix_text)pyautogui.hotkey(ctrl,v)3. 输入间隔 interval 参数慢速输入防检测作用设置每个字符的输入间隔模拟人类手动输入速度避免因瞬间输入大量字符被系统、软件检测为异常如网页表单、登录界面。实用建议间隔设置为 0.1-0.3 秒既自然又不易被检测根据实际场景调整。示例代码防检测慢速输入importpyautoguiimporttime pyautogui.PAUSE1pyautogui.FAILSAFETrue# 模拟网页表单输入慢速输入间隔0.2秒pyautogui.write(test123456,interval0.2)# 账号输入pyautogui.press(tab)# 切换到密码框后续会讲 press 方法pyautogui.write(password789,interval0.3)# 密码慢速输入更安全2.2 单个按键按下/松开针对单个按键的操作PyAutoGUI 提供“单次按下”“长按不松”“手动松开”三种方式同时支持上下文管理器自动释放按键灵活适配不同场景如长按回车、长按删除。1. 单次按下press(key)作用按下并立即松开单个按键相当于手动按一下按键如按回车、按空格。语法pyautogui.press(key)参数说明key 为按键名称字符串格式具体按键名称参考 2.4 按键对照表如 enter、space、backspace。示例代码importpyautoguiimporttime pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 按下回车enterpyautogui.press(enter)time.sleep(1)# 2. 按下空格spacepyautogui.press(space)time.sleep(1)# 3. 按下退格backspace删除前一个字符pyautogui.write(test)time.sleep(1)pyautogui.press(backspace)# 删除最后一个字符 t2. 长按不松keyDown()、松开keyUp()作用手动控制按键的“按下”和“松开”实现长按效果如长按退格删除、长按方向键滚动需搭配使用按下后必须松开否则按键会一直处于按下状态。语法pyautogui.keyDown(key) # 按下按键不松开pyautogui.keyUp(key) # 松开之前按下的按键示例代码长按操作importpyautoguiimporttime pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 长按退格键3秒删除多个字符pyautogui.write(hello world)time.sleep(1)pyautogui.keyDown(backspace)# 按下退格不松开time.sleep(3)# 长按3秒删除多个字符pyautogui.keyUp(backspace)# 松开退格键# 2. 长按方向键右2秒移动光标pyautogui.keyDown(right)time.sleep(2)pyautogui.keyUp(right)3. 上下文管理器with pyautogui.hold(shift):自动释放按键作用无需手动调用 keyUp()上下文管理器会自动在代码块执行完毕后释放按键简化长按、组合按键操作避免忘记松开按键导致异常。语法with pyautogui.hold(key): # 按下key不松开代码块在该代码块中key 一直处于按下状态示例代码自动释放按键importpyautoguiimporttime pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 长按 shift 键输入大写字母自动释放 shiftwithpyautogui.hold(shift):pyautogui.write(hello)# 输入结果为 HELLOtime.sleep(1)# 2. 长按 ctrl 键配合 click 实现 Ctrl点击自动释放 ctrlwithpyautogui.hold(ctrl):pyautogui.click(200,300)# 相当于 Ctrl点击# 3. 长按 alt 键配合 press 实现 AltF4关闭当前窗口withpyautogui.hold(alt):pyautogui.press(f4)2.3 组合快捷键热键组合快捷键如 CtrlC 复制、CtrlV 粘贴是日常操作中最常用的功能PyAutoGUI 提供 hotkey() 方法自动处理按键的按下、释放顺序无需手动控制 keyDown() 和 keyUp()。1. 核心方法hotkey(key1, key2, …, interval0)作用按顺序按下多个按键然后按相反顺序松开实现组合快捷键操作。参数说明key1, key2, …必传参数组合快捷键的按键如 ctrl, cinterval可选参数按键之间的按下间隔单位秒默认 0建议设置为 0.1 秒避免按键冲突。常用快捷键示例代码importpyautoguiimportpyperclipimporttime pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 打开记事本输入测试文本pyautogui.moveTo(100,200,duration1)pyautogui.doubleClick()time.sleep(2)pyperclip.copy(测试组合快捷键CtrlC、CtrlV、CtrlA)pyautogui.hotkey(ctrl,v)time.sleep(1)# 2. 常用组合快捷键pyautogui.hotkey(ctrl,a,interval0.1)# CtrlA 全选文本time.sleep(1)pyautogui.hotkey(ctrl,c,interval0.1)# CtrlC 复制选中内容time.sleep(1)pyautogui.press(enter)# 换行pyautogui.hotkey(ctrl,v,interval0.1)# CtrlV 粘贴内容time.sleep(1)pyautogui.hotkey(ctrl,s,interval0.1)# CtrlS 保存文件time.sleep(1)pyautogui.hotkey(alt,f4,interval0.1)# AltF4 关闭记事本2. 多键组合顺序、释放规则按下顺序hotkey() 会按参数传入的顺序依次按下按键如 hotkey(ctrl, shift, a)先按 Ctrl → 再按 Shift → 最后按 A释放顺序按按下顺序的反方向释放如上述组合先释放 A → 再释放 Shift → 最后释放 Ctrl注意事项组合快捷键中修饰键Ctrl、Shift、Alt需放在前面功能键C、V、A 等放在后面避免按键冲突。错误与正确示例对比# 错误示例功能键在前修饰键在后会导致快捷键失效pyautogui.hotkey(c,ctrl)# 错误先按 C再按 Ctrl不是 CtrlC# 正确示例修饰键在前功能键在后pyautogui.hotkey(ctrl,c)# 正确CtrlC 复制2.4 所有按键对照表 KEYBOARD_KEYSPyAutoGUI 支持所有电脑常用按键按键名称需严格按照以下对照表填写区分大小写均为小写避免因按键名称错误导致操作失效。以下为高频常用按键完整按键列表可通过 pyautogui.KEYBOARD_KEYS 查看。常用按键对照表基础输入按键字母a, b, …, z小写大写需配合 Shift 键数字0, 1, …, 9符号!, , #, $, %, , *, (, ), -, _, , , [, ], {, }, ;, :, , , ,, ., /, ?。功能按键回车enter或 return空格space退格backspace制表符Tabtab大写锁定capslockshift 键shift左 shift 可写 shiftleft右 shift 可写 shiftrightctrl 键ctrl左 ctrl 可写 ctrlleft右 ctrl 可写 ctrlrightalt 键alt左 alt 可写 altleft右 alt 可写 altrightwindows 键win或 super删除键delete删除光标后字符插入键insert切换插入/覆盖模式。方向键上up下down左left右right。功能键F1-F12f1, f2, f3, …, f12。其他按键ESC 键escPageUp 键pageupPageDown 键pagedownHome 键homeEnd 键end。查看完整按键列表代码importpyautogui# 打印所有支持的按键名称共100个包含各类特殊按键print(pyautogui.KEYBOARD_KEYS)2.5 键盘实战自动输入表单、自动快捷键操作结合本章所有键盘操作编写两个实战脚本分别实现“自动填写网页表单”和“自动快捷键操作文件管理”模拟日常办公场景可直接修改参数适配自己的需求。实战1自动填写网页表单英文中文混合输入实战需求打开浏览器假设浏览器图标坐标为 (200, 100)输入网页地址英文按下回车进入页面等待页面加载填写表单英文账号、中文姓名、数字电话按下提交按钮模拟点击结合鼠标操作。完整实战代码importpyautoguiimportpyperclipimporttime# 基础配置pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 打开浏览器双击浏览器图标browser_x,browser_y200,100# 浏览器图标坐标需自行获取pyautogui.moveTo(browser_x,browser_y,duration1)pyautogui.doubleClick()time.sleep(3)# 等待浏览器打开# 2. 输入网页地址按下回车进入页面pyautogui.write(https://example.com/form,interval0.1)# 英文地址输入pyautogui.press(enter)time.sleep(5)# 等待页面加载根据网络速度调整# 3. 填写表单假设表单输入框坐标已提前获取# 3.1 填写英文账号输入框坐标300, 200pyautogui.moveTo(300,200,duration0.8)pyautogui.click()# 激活输入框pyautogui.write(test_user123,interval0.1)time.sleep(1)# 3.2 填写中文姓名输入框坐标300, 250pyautogui.moveTo(300,250,duration0.8)pyautogui.click()chinese_name张三pyperclip.copy(chinese_name)pyautogui.hotkey(ctrl,v)time.sleep(1)# 3.3 填写数字电话输入框坐标300, 300pyautogui.moveTo(300,300,duration0.8)pyautogui.click()pyautogui.write(13800138000,interval0.1)time.sleep(1)# 4. 点击提交按钮提交按钮坐标400, 350pyautogui.moveTo(400,350,duration0.8)pyautogui.click()print(表单自动填写完成)实战2自动快捷键操作文件管理实战需求打开文件资源管理器WinE 快捷键全选当前文件夹内文件CtrlA复制文件CtrlC切换到目标文件夹假设坐标500, 400粘贴文件CtrlV保存操作CtrlS关闭资源管理器AltF4。完整实战代码importpyautoguiimporttime# 基础配置pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 打开文件资源管理器WinE 快捷键pyautogui.hotkey(win,e,interval0.1)time.sleep(3)# 等待资源管理器打开# 2. 全选当前文件夹内文件CtrlApyautogui.hotkey(ctrl,a,interval0.1)time.sleep(1)# 3. 复制文件CtrlCpyautogui.hotkey(ctrl,c,interval0.1)time.sleep(1)# 4. 切换到目标文件夹点击目标文件夹图标target_folder_x,target_folder_y500,400# 目标文件夹坐标需自行获取pyautogui.moveTo(target_folder_x,target_folder_y,duration1)pyautogui.doubleClick()time.sleep(2)# 5. 粘贴文件CtrlVpyautogui.hotkey(ctrl,v,interval0.1)time.sleep(2)# 6. 保存操作部分文件夹需 CtrlS 保存可选pyautogui.hotkey(ctrl,s,interval0.1)time.sleep(1)# 7. 关闭资源管理器AltF4pyautogui.hotkey(alt,f4,interval0.1)print(文件自动复制粘贴完成)实操注意事项脚本中的坐标如浏览器图标、表单输入框需通过上一篇鼠标教程中的“实时坐标监控脚本”获取确保精准定位中文输入必须安装 pyperclip 库若未安装运行脚本会报错命令行输入 pip install pyperclip 即可安装组合快捷键的按键顺序需正确修饰键在前功能键在后避免按键冲突等待时间time.sleep()需根据电脑运行速度、网络速度调整确保操作连贯避免因页面未加载完成导致操作失效运行脚本时确保目标窗口如浏览器、记事本无遮挡避免其他窗口干扰操作。拓展提示本章节实战脚本可灵活修改比如替换为“自动登录软件”“自动填写表格”“自动发送消息”等场景核心逻辑一致激活输入框 → 输入内容英文/中文 → 执行快捷键/点击操作只需修改坐标、输入文本和等待时间即可。