大家都不想浪费时间,但总要有人做
鼠标部分
1.获取鼠标当前位置
2.移动鼠标
2.1 把鼠标移动到(100,100)的位置
2.2 只移动鼠标的x或y
pyautogui.moveTo(600, None)
根据官方文档的说明None可以用None表示缺省
意思是鼠标纵坐标不动,只移动横坐标
经过测试是没有办法用的
如果要实现只移动x或y的值
可以先获取鼠标的位置
或使用2.4的方法
2.3 用固定时间的移动鼠标
pyautogui.moveTo(600, 600,1)
表示把鼠标移动到(600,600)的位置,用时1秒,不填默认0.1秒
2.4 移动鼠标的相对位置
2.5控制移动的方式
其他方法如果有tween参数
也可以用tween参数指定方式
3.拖拽鼠标
和上面一样
pyautogui.dragTo()是绝对位置
pyautogui.drag()是相对位置
3.1简单拖拽
上图亲测没用
因为有个参数为duration默认为0
当duration为0时就是快速移动不是拖拽
经测试最短的有效时间为0.2
3.2指定键拖拽
不指定button默认为左键拖拽
4.点击
鼠标的按下抬起
参数基本上是一样的
xy为坐标
button为按键
5.滚动
# 向上滚动
pyautogui.scroll(10000)
# 向下滚动
pyautogui.scroll(-10000)
# 向左移动
pyautogui.hscroll(10000)
# 向右移动
pyautogui.hscroll(-10000)
官方文档
# move mouse cursor to 100, 200, then scroll up 10 "clicks"
pyautogui.scroll(10, x=100, y=100)
亲测没用
无论给xy什么值鼠标都不动
键盘部分
对应键的名字
1.输入字符串
1.1打出hello
1.2每个字符间隔1秒
pyautogui.write("hello",interval=1)
2.按下功能键
2.1单个键
# 按下 左
pyautogui.press('left')
press包含了keyDown和keyUp
2.2长按
利用keyDown和keyUp实现长按
下面这两个的功能也是一样的
2.3组合键
这个快捷键是弹出任务管理器
pyautogui.hotkey('ctrl', 'shift', 'esc')
hotkey的执行过程
pyautogui.keyDown('ctrl')
pyautogui.keyDown('shift')
pyautogui.keyDown('esc')
pyautogui.keyUp('esc')
pyautogui.keyUp('shift')
pyautogui.keyUp('ctrl')
屏幕部分
1.获取屏幕大小
2.截图
如果执行报错,先把该装的的库都装了
2.1不传参数
2.2保存截图(全屏)
# 图片保存在当前目录下
pyautogui.screenshot("test.png")
2.3保存截图(部分)
region的四个数分别表示左上角坐标右下角坐标
pyautogui.screenshot("test.png",region=(0,0, 300, 300))
3.查找
在查找函数中,confidence参数都可使用
confidence的范围应该是0-1
confidence的值越大查找结果匹配度越高
如果和要找的图片有点差异但大致相同
可降低confidence的值查找
把参数grayscale设置为True可加速查找的速度
3.1在屏幕查找单个图片
pyautogui.locateOnScreen()
pyautogui.locateCenterOnScreen()
=pyautogui.center(pyautogui.locateOnScreen('7.png'))
3.2在屏幕查找多个图片
3.3在图片中查找单个图片
下图是在calc.png中查找7.png
用locate查找只会返回第一个查找到的位置
3.4在图片中查找多个图片
3.5查找像素点的颜色
三个数字分别对应RGB
3.6像素颜色匹配
判断(100,100)的颜色是不是(41, 128, 185)
tolerance参数设置色差匹配
原来的颜色是(41, 128, 185)
设置tolerance=1
那么匹配的颜色范围是(41-1~41+1, 128-1~128+1, 185-1~185+1)
消息框部分
1.alert()
2.confirm()
3.prompt()
修改输入框默认的内容