有关PYAUTO库的使用

目录

图像部分

截屏

识别

 鼠标部分

位置

点击

移动

键盘部分

窗口部分

 写在后面的话


图像部分

截屏

image_1 = pyautogui.screenshot()#截屏
#没有设定区域就会默认全屏,默认返回一个image文件
image_1.save('这里输入地址')
#image_1中存放图片的属性,可以不设置
image_2 = pyautogui.screenshot('直接输地址')

image_3= pyautogui.screenshot('地址',region = (a,b,c,d))#截取一个矩形区域
#参数依次为左上角XY坐标,长和宽

识别

pyautogui.locateOnScreen('地址')#匹配一个对象
#返回一个元组(left, top, width, height),可以增加一个region=(x,y,height,width)提高搜索精度
pyautogui.locateAllOnScreen('地址')#匹配屏幕上所有对象

pyautogui.locateCenterOnScreen('地址')#返回当前图片中心坐标
#为一个元组(x,y)

这里补充一下,图像识别功能有可能受制于多种因素而失败,贴一个博主的链接有讲如何提高图像识别的精确度https://blog.csdn.net/weixin_43937682/article/details/122380299?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-122380299-blog-121672002.pc_relevant_3mothn_strategy_and_data_recovery&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-122380299-blog-121672002.pc_relevant_3mothn_strategy_and_data_recovery&utm_relevant_index=1

 鼠标部分

位置

pyautogui.displayMousePosition()#获取当前鼠标位置及RGB像素值,并显示在终端上

x,y = pyautogui.position()#鼠标当前位置

点击

pyautogui.click()#在鼠标当前位置点击一下

pyautogui.click(x,y)#在坐标为x,y处点击一下

pyautogui.doubleClick()#当前位置点击两下,设置参数后同上

pyautogui.tripleClick()#点三下

pyautogui.mouseDown()#按下鼠标不松开
#三个参数(x,y,button=)
pyautogui.mouseUp()#松开鼠标

移动

pyautogui.moveTo(x,y,duration=1)#将鼠标移动至(x,y)处
#duration为持续时间,可更改
pyautogui.moveRel(x,y,duration=1)#从当前位置改变鼠标值
#例如x=50,y = 30,即为右移50像素,上移30像素
pyautogui.dragRel()#拖拽鼠标坐标改变x,y 
# 四个参数(x,y,time,button = 'left')其中button 可以更改为right或middle
pyautogui.dragTo()#拖拽鼠标至x,y

pyautogui.scroll()#滚动鼠标滚轮
#三个参数(滚动格数,x,y)   x,y为开始滚动的位置,若无则从当前位置开始滚动

键盘部分

pyautogui.write('内容',interval=1)#输入内容
#第一个参数为字符串或其他字符型的序列,第二个参数为间隔
pyautogui.typewrite(mes,interval=1)#同上

pyautogui.press('a',presses=3,interval=1)#按下某个按键
#参数为(字符串,按下的次数,间隔),后两项参数不必须
pyautogui.press(['d','d'])
#同样支持序列输入,且输入间隔较短
print(pyautogui.KEYBOARD_KEYS)#打印支持的按键

pyautogui.keyDown('a')#按键放下

pyautogui.keyUp('a')#按键抬起

pyautogui.isValidKey('a')#检查按键是否可用,返回一个bool值

窗口部分

pyautogui.alert(text='文本内容',title='标题',button='ok')#弹出一个警告消息窗口,至多一个按钮

pyautogui.confirm(text='文本内容',title='标题',buttons=['OK','Cancel','mes'])#同上,但可有多个按钮

a = pyautogui.prompt(text='文本内容',title='标题',default='123')#生成一个可以输入文本的窗口,需要对象来接受返回值
#default为文本框内初始文本
print(a)#打印对象
b = pyautogui.password(text='文本内容',title='标题',default='123',mask='#')#同上,可设置mask作为文本的显示
print(b)
#例如在本框中输入123为###

杂项

这里我一般不建议大家调整,按照默认的就好,但为了完整起见我贴一个链接

2022.4 2 pyautogui_风车转呀转的博客-CSDN博客_pyautogui 模糊匹配

 写在后面的话

 早就听闻pyauoto库的大名,只是慕名而来的我属实是被泼了一盆冷水

由于本人是python小白,安装pyauto库和他的环境的时候就费了不少力。上学期偷了个大懒,在安装新的python的时候没有把原来的python和环境变量换了,导致现在电脑上乱糟糟的。甚至没有办法像网上大部分教程一样直接pip或pip3就将库安装完成。(有大佬知道为什么可以教下我)

 然后用anacoda把所需的库安装好了之后又出了个大问题,写自动化脚本写到图片识别部分的时候发现这个screenshot截屏功能突然用不了(提示无法引用),之后又是各种查资料。明明已经装了PIL库但是还是还是报错提示我需要安装Pillow库。

在接近三个小时的高强度搜索后,终于发现原来是PIL只支持到python2.7版本,Pillow和PIL在某些文件上已经不兼容(有个pil文件是小写我真的谢了),两者一会Pillow一会PIL弄的我心态爆炸回去睡大觉,第二天早上发现神奇的可以使用了

 我赶紧去官网一查

 

 我用的是python 3.9这下我更加摸不着头脑

先插个眼,以后再来看为什么 

 萌新刚刚入坑,如有错漏还请各位大佬指正(轻喷

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值