pyautogui模块概述
安装pyauto库
pip install pyautogui
基础功能
报错机制
pyautogui.FAILSAFE=False # 默认为True,当鼠标的指针在屏幕的最上方程序会报错
停顿功能
pyautogui.PAUSE=1 # 每条pyauto指令会暂停一秒,其他指令不会停止
鼠标功能
获取屏幕分辨率
x,y=pyautogui.size() # 获取屏幕的分辨率
获取鼠标当前位置
pyautogui.position() # 获取鼠标当前位置
移动鼠标
pyautogui.moveTo(x=300,y=300,duration=1) # 鼠标移动到x=300,y=300的位置,耗时1秒 # moveRel()移动的是相对位置 # 所有的pyautogui指令都有duration参数,控制速度
拖拽鼠标
pyautogui.dragTo() pyautogui.dragRel() # 按住鼠标移动,参数与用法与moveTo/moveRel用法一样
按住与松开鼠标
pyautogui.mouseDown() # 按下 pyautogui.mouseUp() # 松开
单击鼠标
pyautogui.click(x=300,y=300,button='right') # 在x=300,y=300的位置点击右键,默认为左键,middle为中键 pyautogui.click(clicks=2,interval=0.25) #clicks参数设置点击次数 interval参数设置间隔时间
双击鼠标
pyautogui.doubleClick(x=300,y=300,button='right') # 双击鼠标,参数与click()一致
控制鼠标滚轮滚动
pyautogui.scroll(300) # 向上滚动300像素,负数为向下
屏幕处理
截取屏幕
img=pyautogui.screenshot() # 没有参数则截取整个屏幕 img=pyautogui.screenshot((20,20,20,20)) img=pyautogui.screenshot(region=(20,20,20,20)) # 截取左上顶点坐标为(20,20),宽为20,长为20的一个图像
保存截图
img.save('pm1.jpg') # 保存为pm.jpg img=pyautogui.screenshot('pm2.jpg') # 截取并保存为pm2.jpg
获取某位置像素色彩
img=pyautogui.screenshot() print(img.getpixel(300,300)) # 输出截图的x=300,y=300位置的像素色彩的RGB三原色组
色彩对比
pyautogui.getpixelMatchesColor(200,200,(255,0,0)) # 对比(200,200)位置的像素色彩与(255,0,0)色彩,返回布尔值
匹配图像
pyautogui.locateOnScreen('zan.png') # 匹配当个图像,返回匹配图像左上顶点坐标和长宽,可以加grayscale=True打开灰度匹配,提升匹配速度 pyautogui.locateAllOnScreen('zan.png') # 匹配多个图像位置
获取图像中心位置
pyautogui.center(200,200,200,200) # 得到(200,200)位置,宽200,长200图像的中心位置 pyautogui.locateCenterOnScreen('zang.png') # 找到匹配图像,返回图像中心坐标
键盘
按住松开键
pyautogui.keyDown('shift') # 按住shift pyautogui.Up('shift') # 松开shift
按下键
pyautogui.press('shift') # 按下shift
按下组合键
pyautogui.hotkey('win','r') # 按下win+r
输出内容
pyautogui.typewrite(message='hello python',interval=1) # 输出hello python 用时1s,输出不了中文
输出中文
import pyperclip pyperclip.copy() # 复制内容在粘贴板 pyperclip.paste() # 提取粘贴板内容 # 可以使用ctrl+v输出中文
上下文管理器
with pyautogui.hold('shift'): pyautogui.press(['r','w']) 相当于 pyautogui.keyDown('shift') pyautogui.press('r') pyautogui.press('w') pyautogui.keyUp('shift')
键盘映射
键盘字符串
键盘按键
enter(return|\n)
回车
esc
ESC键
shiftleft,shiftright
左右SHIFT键
altleft,altright
左右ALT键
ctrlleft,ctrlright
左右CTRL键
tab,
TAB键
backspace,delete
BACKSPACE、DELETE键
pageuo,pagedown
PAGEUP和PAGEDOWN键
home,end
HOME和END键
up,down,left,right
箭头键
f1,f2,f3....f12
F1到F12键
volumemute,volumedown,volumeuo
声音变大变小建(有的键盘没有)
pause
PAUSE键(暂停键)
capslock
CAPSLOCK键
numlock
NUMLOCK键
scrolllock
SCROLLLOCK键
insert
INSERT键
printscreen
PRINTSCREEN键
winleft,winright
左右win键
框内容
提示框
pyautogui.alert(text='hello',title='alert')
选择框
pyautogui.confirm(text='死鬼,来了?',title='你的选择',buttons=['滚!','死鬼!']) # buttons参数为自己设置按钮
密码输入框
p.password('请输入密码!','密码',default='110',mask='*') # 第三个参数为默认值,第四个参数为输入表现形式
普通输入框
pyautogui.prompt('请输入')
最后更新于