闲言碎语不讲直接上函数:
鼠标操作类:
pyautogui.click(x=None,y=None,click=1,interval=0.0,duration=0.0,button='primary')
pyautogui.leftClick(x=None, y=None, interval=0.0, duration=0.0)左键单击
pyautogui.rightClick(x=None, y=None, interval=0.0, duration=0.0)右键单击
pyautogui.middleClick(x=None, y=None, interval=0.0, duration=0.0)中键单击
pyautogui.doubleClick(x=None, y=None, interval=0.0, button='left', duration=0.0,)左键双击
pyautogui.tripleClick(x=None, y=None, interval=0.0, button='left', duration=0.0,)三连击
pyautogui.mouseDown(x=None, y=None, button='primary', duration=0.0,)移动到坐标位置鼠标按下
pyautogui.mouseUp(x=None, y=None, button='primary', duration=0.0,)移动到坐标位置鼠标松开
- pyautogui.mouseDown(x=None, y=None, button='primary', duration=0.0,)移动到坐标位置鼠标按下
- pyautogui.mouseUp(x=None, y=None, button='primary', duration=0.0,)移动到坐标位置鼠标松开
参数解释:
- x,y为鼠标坐标,
- click为点击几次,
- interval为每次点击间隔时间,
- duration为执行此次动作设置时间,
- 0就是立即执行,
- button有几个选项默认是左键,- ``LEFT``, ``MIDDLE``, ``RIGHT``, ``PRIMARY``, or ``SECONDARY``.
其中其他函数为pyautogui.click的便捷函数,click方法可以进行一切鼠标点击操作。
注意最后两个加粗的操作,他们组合在一起就是拖动操作!!!
拖动操作便捷函数如下:
pyautogui.dragTo(x=None, y=None, duration=0.0, button='primary', mouseDownUp=True)
该函数会把鼠标从当前位置拖动到指定x,y位置,并松开。**如果最后的参数mouseDownUp设置为False则鼠标只是单纯的移动,不执行按下或者松开操作,另外如果duration设置为0或者不设置,拖动也不会成功。
pyautogui.dragRel(xOffset=0, yOffset=0, duration=0.0, button='primary', mouseDownUp=True)
该函数为相对移动,给出的x, y,为相对于当前位置的偏移量。
鼠标单纯移动便捷方法,搞怪必备!!!
相对移动:
pyautogui.moveRel(xOffset=None, yOffset=None, duration=0.0)
绝对移动:
pyautogui.moveTo(x=None, y=None, duration=0.0)
鼠标滑轮滚动:
pyautogui.scroll(clicks, x=None, y=None)
这是垂直滚动还是水平滚动取决于底层操作系统。
x和y参数详细说明鼠标事件发生的位置。如果没有,则
使用当前鼠标位置。如果是浮点值,则向下舍入。如果
在屏幕边界之外,事件发生在屏幕。
参数:
clicks(int,float):要执行的滚动量。
x(int,float,None,tuple,可选):屏幕上的x位置,如果是元组,则用于x和y。
y(int,float,None,可选):屏幕上的y位置
**pyauyogui.hscroll(clicks, x=None, y=None)滑轮水平移动,目前只支持linux系统**
**pyauyogui.vscroll(clicks, x=None, y=None)滑轮垂直移动,目前只支持linux系统**
---------------------------------------------------------------------------------------------------------------------
分割线以后是键盘操作方法:
想要知道pyautogui都支持哪些按键请用:
pyautogui.KEY_NAMES
按键并松开
pyautogui.press(keys, presses=1, interval=0.0)
参数:
key(str,list):要按下的键。也可以是此类字符串的列表。
press(整数,可选):按的重复次数。默认为1
间隔(浮动,可选):每次按下之间的秒数。
默认值为0.0,表示两次按下之间没有暂停。
pyautogui.typewrite(message, interval=0.0,)
参数:
message(str,list):如果是字符串,则要按的字符。如果
列表,然后按顺序按按键的键名。
间隔(浮动,可选):每次按下之间的秒数。
默认为0.0,用于在两次按下之间没有暂停
以上两个函数有什么不同呢:
typewrite('hello world')可以这样,而press不行
热键输入
pyautogui.hotkey(*args, **kwargs)**
对按顺序传递的参数执行按下键,然后执行按相反顺序释放键。其效果是调用热键('ctrl','shift','c')将执行
“Ctrl-Shift-C”热键/键盘快捷键。
参数:
按键(str):按顺序按的一系列键。这也可以是要按的键串列表。
间隔(浮动,可选):每次按下之间的秒数。默认为0.0,用于在两次按下之间没有暂停。
-----------------------------------------------------------------------------------------------------------------------
弹窗类:
显示一个简单的带文字和OK按钮的消息弹窗。用户点击后返回button的文字。
pyautogui.alert(text='', title='', button='OK')
#显示一个简单的带文字、OK和Cancel按钮的消息弹窗,用户点击后返回被点击button的文字,支持自定义数字、文字的列表。
# OK和Cancel按钮的消息弹窗
# pyautogui.confirm(text='', title='', buttons=['OK', 'Cancel'])
# # 10个按键0-9的消息弹窗
# pyautogui.confirm(text='', title='', buttons=range(10))
# pyautogui.prompt(text='', title='' , default='')
# 可以输入的消息弹窗,带OK和Cancel按钮。用户点击OK按钮返回输入的文字,点击Cancel按钮返回None。
# pyautogui.password(text='', title='', default='', mask='*')
# 样式同prompt(),用于输入密码,消息用*表示。带OK和Cancel按钮。用户点击OK按钮返回输入的文字,点击Cancel按钮返回None。
-----------------------------------------------------------------------------------------------------------------------------
其他杂类
如果函数运行期间想要停止,请把鼠标移动到屏幕得左上角(0,0)位置,这回引发safe错误,从而终止程序运行。
pyautogui.FAILSAFE = True #鼠标左上角触发pyautogui.FaailSafeException异常,True是默认值
pyautogui.PAUSE = 2.5#设置统一等待时间
width, height = pyautogui.size()#获取屏幕尺寸
x, y = pyautogui.position()#获取鼠标坐标
pyautogui.displayMousePosition()*用这个函数,运行后坐标会实时显示。
pyautogui.sleep()#休息方法,休息一下
pyautogui.onScreen(x, y=None)#判断给定坐标是否在屏幕内
pyautogui.center(coords)#The `coords` argument is a 4-integer tuple of (left, top, width, height),获取给定参数得中心位置,返回是相对于给定位置得中心点坐标:
>>> center((10, 10, 6, 8))
Point(x=13, y=14)
pyautogui.countdown(seconds):#倒计时方法,参数为给定倒计时得起始数字。
pyautogui.run(commandStr, _ssCount=None)#非常牛逼得方法,相当于一个解释器得操作了第一个参数解释如下:
“commandStr”由字符组成表示PyAutoGUI函数调用的命令。例如,`run('ccg-20,+0c')`单击鼠标两次,然后
鼠标光标向左移动20个像素,然后再次单击。忽略命令和参数之间的空白。命令字符必须是小写。引号必须是单引号。
例如,前一个调用也可以写成“run('c c g - 20,+0 c')`”。
字符命令及其等效命令如下:
`c` => `click(button=PRIMARY)`
`l` => `click(button=LEFT)`
`m` => `click(button=MIDDLE)`
`r` => `click(button=RIGHT)`
`su` => `scroll(1) # scroll up`
`sd` => `scroll(-1) # scroll down`
`ss` => `screenshot('screenshot1.png') # filename number increases on its own`
`gX,Y` => `moveTo(X, Y)`
`g+X,-Y` => `move(X, Y) # The + or - prefix is the difference between move() and moveTo()`
`dX,Y` => `dragTo(X, Y)`
`d+X,-Y` => `drag(X, Y) # The + or - prefix is the difference between drag() and dragTo()`
`k'key'` => `press('key')`
`w'text'` => `write('text')`
`h'key,key,key'` => `hotkey(*'key,key,key'.replace(' ', '').split(','))`
`a'hello'` => `alert('hello')`
`sN` => `sleep(N) # N can be an int or float`
`pN` => `PAUSE = N # N can be an int or float`
`fN(commands)` => for i in range(N): run(commands)
--------------------------------------------------------------------------------------------
im1 = pyautogui.screenshot()#返回pillow得image对象全屏截图
# im2 = pyautogui.screenshot('my_screenshot.png')
# 在一个的屏幕上,screenshot()函数要消耗100微秒——不快也不慢。
# 如果你不需要截取整个屏幕,还有一个可选的region参数。你可以把截取区域的左上角XY坐标值和宽度、高度传入截取。
# im = pyautogui.screenshot(region=(0, 0, 300 ,400))
--------------------------------------------------------------------------------------------------------
对了还有几个方法忘记了!
getAllWindows()
Returns a list of Window objects for all visible windows.
返回所有打开窗口的对象
getWindowsAt(x, y)
Returns a list of Window objects whose windows contain the point ``(x, y)``.
返回其窗口包含点“`(x,y)`”的窗口对象的列表。
getActiveWindow()#返回当前活动窗口对象
getActiveWindowTitle(title)#返回当前活动对象的窗口标题
getAllTitles()#返回所有的窗口标题
getWindowsWithTitle(title)#根据标题找窗口,返回窗口对象
最后美女镇楼,码字不易,看到了随手点个赞