详解pyautogui模块

一.安装pip install pyautogui
或者
pip install -i  https://pypi.tuna.tsinghua.edu.cn/simple pyautogui
二.全局设置s为秒数,不填默认0.1s 。表示所有pyautogui相关的指令运行后等待s秒在运行下一条 。相当于全局等待
pyautogui.PAUSE=s防止操作失控,默认就是True,通过FAILSAFE_POINTS来设置坐标,默认(0,0)

详解pyautogui模块

文章插图
也可手动更改
pyautogui.FAILSAFE = True# 防止操作失控,设置鼠标移动某点是抛异常pyautogui.FAILSAFE_POINTS = [(100, 0)]# 鼠标移动到(100,0)位置时抛出异常三.获取电脑分辨率x, y = pyautogui.size()print(x, y)四.鼠标事件1.pyautogui.click():单击点击事件pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button=PRIMARY, duration=0.0, tween=linear)# x,y:为点击的位置坐标 , 以电脑左上角为原点# clicks:为点击次数 , 默认为1# interval:多次点击间的间隔(比如双击,第一次点击完后,等待设置的秒数在执行下一次点击)# button:设置左击还是右击,默认左击# duration:设置执行的时间# tween:鼠标移动到指定位置的规律button:设置鼠标点击项(left:左击,right:右击,middle:中击)
除了click()方法可以单击外,pyautogui还提供了专用于左/右/中击的方法 。
pyautogui.leftClick()# 左键单击pyautogui.rightClick()# 单击右键pyautogui.middleClick()# 中键单击leftClick()的用法等同于click(button='left')
rightClick()的用法等同于click(button='right')
middleClick()的用法等同于click(button='middle')
2.pyautogui.doubleClick():双击点击事件pyautogui.doubleClick()# 双击,默认左双击# x,y:为点击的位置坐标,以电脑左上角为原点# clicks:为点击次数,默认为1# interval:两次点击间的间隔(比如双击,第一次点击完后,等待设置的秒数在执行下一次点击)# button:设置左击还是右击,默认左击# duration:设置执行的时间# tween:鼠标移动到指定位置的规律3.pyautogui.tripleClick():三击点击事件pyautogui.tripleClick()# 单击三次,默认左击4.鼠标移动1)pyautogui.moveTo():以坐标为原点移动到指定的坐标上
pyautogui.moveTo(x=None, y=None, duration=0.0, tween=pyautogui.easeInOutElastic)# 鼠标移动到坐标位置,以电脑屏幕左上角为原地定位# x,y:为移动的位置坐标,以电脑左上角为原点# button:设置左击还是右击,默认左击# duration:设置执行的时间# tween:鼠标移动到指定位置的规律,默认匀速直线运行(linear)这个介绍下tween参数的值共有哪些 。
easeInQuad 
详解pyautogui模块

文章插图
easeOutQuad easeInOutQuad easeInCubic easeOutCubic easeInOutCubic easeInQuart easeOutQuart easeInOutQuart easeInQuint easeOutQuint easeInOutQuint easeInSine easeOutSine easeInOutSine easeInExpo easeOutExpo easeInOutExpo easeInCirc easeOutCirc easeInOutCirc easeInElastic easeOutElastic easeInOutElastic easeInBack easeOutBack easeInOutBack easeInBounce easeOutBounce easeInOutBounce 左边为属性 , 右侧为运行的方式(速度+轨迹) , 图片来源于’https://blog.csdn.net/S_clifftop?type=blog‘如有侵权,请告知删除 。
pyautogui.position():可获取当前鼠标坐标
x, y = pyautogui.position()# 获取鼠标当前位置print(x,y)2)pyautogui.move():以鼠标当前位置移动x,y个像素
pyautogui.move(x=None, y=None, duration=0.0, tween=pyautogui.easeInQuad)# 在当前位置移动,以当前位置为坐标该方法与moveTo()的区别在于开始移动的位置不一样,x,y参数是以当前位置相对移动的像素,可正值可负值 。
5.按下与松开pyautogui.mouseDown():按下鼠标
pyautogui.mouseDown(x=None, y=None, button='', duration=0.0)# 按下鼠标,填写坐标的话,就是移动到某个坐标下按下# x,y为移动到某点按下,不填的话默认当前位置按下# button按下的点击项,默认左按下# duration整体指令运行的时间pyautogui.mouseUp():松开鼠标
pyautogui.mouseUp()# 释放鼠标我们在做登录验证滑块的时候 , 就可以用这两个方法+move()去拖拽滑块,并且还不会被检测出来
6.鼠标拖拽pyautogui.dragRel():在鼠标当前位置点击后相对移动
pyautogui.dragRel(xOffset=20, yOffset=100, duration=3, tween=pyautogui.easeInQuad, button='left')# 在鼠标当前位置点击后相对移动,结束后自动松开# xOffset,yOffset为移动的距离# duration整个移动的耗时# tween移动的速度+轨迹# button设置点击项,默认左击

推荐阅读