一:前置操作
自动防故障 pyautogui.FAILSAFE = False # 默认为True,这项功能意味着:当鼠标的指针在屏幕的最左上方,程序会报错;目的是为了防止程序无法停止 停顿功能 pyautogui.PAUSE = 1 # 所有pyautogui的指令都要暂停一秒;其他指令不会停顿;这样做,可以防止键盘鼠标操作太快; 点是否在屏幕上 pyautogui.onScreen(x, y) # 结果为true
二:鼠标操作
屏幕分辨率,鼠标位置 pyautogui.size() # 返回元组 pyautogui.position() 鼠标移动 pyautogui.moveTo(100,300,duration=1) # 过程用时1秒 pyautogui.moveRel(50, 0, duration=0.25) # 从当前位置,右移50像素 鼠标点击 pyautogui.click(10, 20, 2, 0.25, button='left') # 通用方法,参数:坐标 点击次数,点击时间间隔,点击左右中键,移动到坐标时间等 pyautogui.doubleClick() # 当前位置左击两下,参数:坐标 点击时间间隔,点击左右中键,移动到坐标时间等 pyautogui.mouseDown() mouseUp leftClick rightClick middleClick # 鼠标按下 鼠标松开 左击 右击 中击 鼠标拖拽 pyautogui.dragTo(100, 200, button='left') # 参数:坐标 点击左右中键,移动到坐标时间等 pyautogui.dragRel(0, -60, duration=0.2) 鼠标滚轮 pyautogui.scroll(clicks=10, x=None, y=None) # 先移动到(100,100)再向上滚动10格
三:键盘操作
pyautogui.typewrite('Hello world!', interval=0.0) # 每次输入间隔0.25秒,输入Hello world! pyautogui.press('enter') # 按下并松开(轻敲)回车键, 参数可以是列表['left', 'left', 'left', 'left'] pyautogui.hotkey('ctrl', 'v') # 组合按键(Ctrl+V) pyautogui.keyDown('shift') keyUp pyautogui.KEYBOARD_KEYS 按键名称列表
四:弹窗处理
提示弹窗 pyautogui.alert(text='要开始程序么?', title='请求框', button='OK') # 点击按钮或者关闭窗口都返回button的值。 选择弹窗 pyautogui.confirm(text='', title='', buttons=['OK', 'Cancel']) # OK和Cancel按钮的消息弹窗,返回点击按钮的值,关闭窗口返回None(或者Cancel) 输入弹窗 pyautogui.prompt(text='', title='', default='') # 返回输入的值(按ok)或者None (按cancel) pyautogui.password(text='', title='', default='', mask='*') # 同上,输入显示为*
五:图像处理
截屏 pyautogui.screenshot(r'C:\screenshot.png', region=(0, 0, 300, 400)) # imageFilename=None, region=None,返回PIL.Image.Image 取色 pix = pyautogui.pixel(220, 200) # 获取坐标(220,200)所在屏幕点的RGB颜色,返回三个元素的元组 点匹配色 pyautogui.pixelMatchesColor(100, 200, (255, 255, 245), tolerance=10) # tolerance参数红、绿、蓝误差范围 返回True或者False 找图 pyautogui.locateOnScreen(r'C:\screenshot.png') # 返回 Box(left=0, top=0, width=300, height=400),可以用pyautogui.center(a)返回中心坐标 x, y = pyautogui.locateCenterOnScreen(r'C:\screenshot.png') # 取得图中心坐标 pyautogui.locateAllOnScreen(r'C:\screenshot.png')) # 返回Box对象列表