pyautogui函数解析分类
pyautogui.FAILSAFE=True
#会记录每一次点击click的截图
pyautogui.LOG_SCREENSHOTS=True
'size','position','center', 'onScreen'
onScreen pyautogui.onScreen(x, y) 判断(x,y)是否在屏幕上
pyautogui.size() # 屏幕的宽度和高度
pyautogui.position() # 鼠标当前位置
'pixel', 'pixelMatchesColor'
pix = pyautogui.screenshot().getpixel((220, 200)) # 获取坐标(220,200)所在屏幕点的RGB颜色
positionStr = ' RGB:(' + str(pix[0]).rjust(3) + ',' + str(pix[1]).rjust(3) + ',' + str(pix[2]).rjust(3) + ')'
print(positionStr) # 打印结果为RGB:( 60, 63, 65)
pix = pyautogui.pixel(220, 200) # 获取坐标(220,200)所在屏幕点的RGB颜色与上面三行代码作用一样
# 如果你只是要检验一下指定位置的像素值,可以用pixelMatchesColor(x,y,RGB)函数,把X、Y和RGB元组值穿入即可
# 如果所在屏幕中(x,y)点的实际RGB三色与函数中的RGB一样就会返回True,否则返回False
# tolerance参数可以指定红、绿、蓝3种颜色误差范围
pyautogui.pixelMatchesColor(100, 200, (255, 255, 255))
pyautogui.pixelMatchesColor(100, 200, (255, 255, 245), tolerance=10)
'drag', 'dragRel', 'dragTo',
dragTo(x,y,duration,button) 拖动到绝对的点
drag 是相对坐标
'move', 'moveRel', 'moveTo',
moveTo(x,y,duration) duration持续时间
move是相对坐标
'keyDown', 'keyUp' ,'press','hotkey','hold',
press包含了keydown和keyup
'mouseDown', 'mouseUp'
可以实现类似拖动效果,和move组合使用
'screenshot'
screenshot()函数会返回Image对象,如果带参数,会保存到指定地点
im1 = pyautogui.screenshot()
im1.save(img_path) 保存
如果你不需要截取整个屏幕,还有一个可选的region参数。你可以把截取区域的左上角XY坐标值和宽度、高度传入截取
im = pyautogui.screenshot(region=(0, 0, 300 ,400))
'countdown','sleep',
'mouseInfo', 'password', 'alert', 'confirm','prompt',
'locate', 'locateAll', 'locateAllOnScreen', 'locateCenterOnScreen', 'locateOnScreen', 'locateOnWindow',
locateOnScreen获得文件图片在现在的屏幕上面的坐标,返回的是一个元组(top, left, width, height),如果截图没找到,pyautogui.locateOnScreen()函数返回None
locateCenterOnScreen 匹配图片的中心点
locateAllOnScreen 匹配屏幕所有与目标图片的对象
locateOnScreen()函数可以把grayscale参数设置为True来加速定位(大约提升30%),默认为False,
pyautogui.locateOnScreen(img_path, grayscale=True)
confidence=0.5 置信度
'getActiveWindow', 'getActiveWindowTitle', 'getAllTitles', 'getAllWindows', 'getWindowsAt', 'getWindowsWithTitle'
'leftClick', 'rightClick','middleClick','doubleClick','tripleClick','click'
'scroll', 'vscroll','hscroll',
'typewrite', 'write'
不能输出中文,可以用剪切板来实现