[Python进阶] 操纵键盘:PyAutoGUI

6.5 操纵键盘:PyAutoGUI

6.5.1 keyDown、keyUp

按下或弹起某个按键。在按下时不会释放。
参数:

key(str): 要按下的键。有效的名称列在KEYBOARD_KEYS。

logScreenshot:是否要截图并保存在当前文件夹下。

py 复制代码
import pyautogui

pyautogui.keyDown('f')  # 模拟键盘按下f按键,大小写取决于是否打开了caps lock

6.5.2 press

按下并弹起某些按键指定次数。
参数:

keys 按键,可以是str(单个)或list类型。

presses 按下的次数,默认1次

interval 按键之间的间隔

logScreenshot:是否要截图并保存在当前文件夹下。

py 复制代码
import pyautogui

pyautogui.press(list('python'))  # 会以此按下python
pyautogui.press('python')  # 无反应,超过了1个字符
pyautogui.press('p')  # 按下p

6.5.3 hold

上下文管理器,主要目的是在进入时会按下某些按键,然后在退出时释放。
参数:

keys 按键,可以是str(单个)或list类型。

logScreenshot:是否要截图并保存在当前文件夹下。

py 复制代码
from icecream import ic
import pyautogui

with pyautogui.hold(list('python')):
    ic('退出上下文管理器')

6.5.4 typewrite

对消息中的每个字符执行键盘键按下,然后释放。
参数:

message:字符串序列,但无法输入中文

interval:按键之间的间隔

logScreenshot:是否要截图并保存在当前文件夹下。

py 复制代码
import pyautogui

pyautogui.typewrite('python')  # 以此按下python
pyautogui.typewrite('中国')  # 无法按下`中国`

6.5.5 hotkey

以热键的形式按下按键:依次按下给定的按键后再反过来依次释放。
参数:

args: 需要按下的按键名称,不区分大小写。可选的按键名来自:pyautogui.KEY_NAMES

kwargs: interval:按键之间的等待时间;logScreenshot:是否截图,如果为真则截图。

py 复制代码
import pyautogui

pyautogui.hotkey('ctrl', 'v')  # 通过粘贴的快捷键粘贴复制的内容
相关推荐
思绪无限1 小时前
YOLOv5至YOLOv12升级:血细胞检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·yolov12·血细胞检测
skywalk81632 小时前
发现Kotti项目的python包Beaker 存在安全漏洞
开发语言·网络·python·安全
天天进步20153 小时前
Python全栈项目:从零构建基于 Django 的知识管理系统(KMS)
开发语言·python·django
珎珎啊3 小时前
Python3 迭代器与生成器
开发语言·python
思绪无限3 小时前
YOLOv5至YOLOv12升级:金属锈蚀检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·yolov12
yejqvow123 小时前
Pandas 高效实现组内跨行时间戳匹配与布尔标记
jvm·数据库·python
2501_921960854 小时前
协同本体论:元公理体系、普适演化律则与工程范式统一构建
python·重构·numpy·pandas·scipy
小锋java12344 小时前
【技术专题】Matplotlib3 Python 数据可视化 - Matplotlib3 绘制热力图(Heatmap)
python
书到用时方恨少!4 小时前
Python 面向对象进阶:多态——同一个接口,千种面孔
开发语言·python·多态·面向对象
AC赳赳老秦4 小时前
OpenClaw实战案例:用Agent实现每日工作日报自动生成+发送
人工智能·python·职场和发展·eclipse·github·deepseek·openclaw