[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')  # 通过粘贴的快捷键粘贴复制的内容
相关推荐
小宁爱Python34 分钟前
从零搭建 RAG 智能问答系统1:基于 LlamaIndex 与 Chainlit实现最简单的聊天助手
人工智能·后端·python
湖南人爱科技有限公司1 小时前
RaPhp和Python某音最新bd-ticket-guard-client-data加密算法解析(视频评论)
android·python·php·音视频·爬山算法·raphp
eqwaak02 小时前
数据预处理与可视化流水线:Pandas Profiling + Altair 实战指南
开发语言·python·信息可视化·数据挖掘·数据分析·pandas
心态特好3 小时前
详解WebSocket及其妙用
java·python·websocket·网络协议
dlraba8024 小时前
用 Python+OpenCV 实现实时文档扫描:从摄像头捕捉到透视矫正全流程
开发语言·python·opencv
小熊出擊4 小时前
【pytest】fixture 内省(Introspection)测试上下文
python·单元测试·pytest
njsgcs4 小时前
sse mcp flask 开放mcp服务到内网
后端·python·flask·sse·mcp
一人の梅雨4 小时前
1688 店铺商品全量采集与智能分析:从接口调用到供应链数据挖掘
开发语言·python·php
Terio_my5 小时前
Python制作12306查票工具:从零构建铁路购票信息查询系统
开发语言·python·microsoft
万粉变现经纪人5 小时前
如何解决 pip install -r requirements.txt 约束文件 constraints.txt 仅允许固定版本(未锁定报错)问题
开发语言·python·r语言·django·beautifulsoup·pandas·pip