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') # 通过粘贴的快捷键粘贴复制的内容