pyautogui教程
官方文档:https://pyautogui.readthedocs.io/en/latest/mouse.html
常用功能
import pyautogui
pyautogui.position # 当前光标位置
pyautogui.size() # 输出屏幕宽和高
pyautogui.onScreen(x, y) # 如果x&y在屏幕上,则返回True
全局设置
pyautogui.PAUSE = 2.5 # 每一次调用pyautogui,都会有2.5秒的延迟
pyautogui.FAILSAFE = True # True为安全模式,当开启安全模式时,将鼠标移动到左上角可以终止程序
鼠标
pyautogui.moveTo(x, y, duration=num_seconds) # 鼠标移动至x,y处,整个过程耗时num_seconds秒
pyautogui.moveRel(xOffset, yOffset, duration=num_seconds) # 鼠标移动,相对于当前位置移动x,y
# 鼠标拖动,当duration为0或未指定时,则立即移动。注意:Mac上拖动不可以立即执行。
pyautogui.dragTo(x, y, duration=num_seconds) # 鼠标拖动至xy
pyautogui.dragRel(xOffset, yOffset, duration=num_seconds) # 鼠标拖动,相对于当前位置拖动x,y
# 所有的点击都可以用click来完成,click可以通过关键字参数改变点击方式。
# button关键字参数可以为:left、right、middle(看不懂的参数可以不写)
pyautogui.click(x=moveToX, y=moveToY, clicks=num_of_clicks, interval=secs_between_clicks, button='left')
# 为了便于阅读,可以通过其他方法来完成点击
pyautogui.rightClick(x=moveToX, y=moveToY)
pyautogui.middleClick(x=moveToX, y=moveToY)
pyautogui.doubleClick(x=moveToX, y=moveToY)
pyautogui.tripleClick(x=moveToX, y=moveToY) # 三连击
pyautogui.mouseDown(x=moveToX, y=moveToY, button='left') # 鼠标左击按下
pyautogui.mouseUp(x=moveToX, y=moveToY, button='left') # 鼠标左击松开
# 鼠标滚动条
pyautogui.scroll(amount_to_scroll, x=moveToX, y=moveToY) # amount_to_scroll滚动的次数。x,y为光标停留的位置
键盘
pyautogui.typewrite('Hello world!\n', interval=secs_between_keys) # 输入指定的字符
# 键名的完整列表在pyautogui.KEYBOARD_KEYS
pyautogui.typewrite(['a', 'b', 'c', 'enter', 'd'], interval=secs_between_keys) # 传递按键名列表,注意:列表内元素为键盘键名,而不是指定的字符
pyautogui.keyDown(key_name) # 按下键盘按键
pyautogui.keyUp(key_name) # 松开键盘按键
# 组合键、热键
pyautogui.hotkey('ctrl', 'c') # ctrl+c
pyautogui.hotkey('ctrl', 'v') # ctrl+v
消息框
# 提示框,程序会阻塞,等待关闭弹窗后程序继续执行
# alert参数:text='' title='', button='OK'
pyautogui.alert('This displays some text with an OK button.')
# 选择框
# confirm参数:text='', title='', buttons=['OK','Cancel']
# 注意:buttons列表内所有元素都会在弹窗上以按钮形式出现,返回值为对应按钮的文本
pyautogui.confirm('This displays text and has an OK and Cancel button.')
# 输入框,允许用户键入字符,点击确定返回键入的字符,点击取消返回None
# prompt参数:text='',title='',default='默认键入值'
pyautogui.prompt('This lets the user type in a string and press OK.')
#密码输入框
# password参数:text='',title='',default='默认键入值',mask='*'
# mask会将键入的文本以指定的形式展现出来,点击确定后依然返回键入的文本
pyautogui.password()
图像
pyautogui.screenshot() # 返回图像对象
pyautogui.screenshot('./img.png') # 返回图像对象并保存图像
# 判断图像是否在屏幕上&图像在屏幕上的位置,若图像不存在,则同一返回None
pyautogui.locateOnScreen('lookslikeThis.png') # 返回屏幕上第一个匹配成功的图像位置,不存在则返回None
pyautogui.locateAllOnScreen('lookslikeThis.png') # 返回值为生成器对象
for i in pyautogui.locateAllOnScreen('looksLikeThis.png') # 返回值屏幕上所有匹配图像的位置
list(pyautogui.locateAllOnScreen('lookslikeThis.png')) # 返回屏幕上所有匹配图像的位置,以列表的形式返回
pyautogui.locateCenterOnScreen('lookslikethis.png') # 返回屏幕上第一个匹配成功的图像中心的x,y坐标