python之PyAutoGui教你做个自动脚本计算器的方法
前提环境准备
python3+pillow+pyautogui
先提前安装好python3以及pillow和pyautogui模块
这里介绍一下模块安装方法
pipinstallpillow pipinstallpyautogui pipinstallopencv-python
最终效果是利用python脚本模拟电脑计算器进行自动计算,相当于模拟人去点击自带的计算器进行运算,想要做到这一点需要有两个条件:
1.模拟鼠标和键盘的输入工作
2.识别计算器按钮的位置
先来看一下win10电脑的计算器是什么样子的:
我们要知道一点,计算器窗口的位置每次都是不同的,如果你是固定去确定按钮的坐标那就太被动了,所以我们这里需要用到图像识别,去识别到按钮的位置,博主这里
做一个示例做一个1+2=的运算。
废话不多说直接上代码,跟着注释,看懂代码没毛病。
打开你的微信截图截下1,+,2,=四个图片存入脚本所在目录
详细代码
#导入模块
fromPILimportImageGrab
importpyautoguiasauto
#定义类
classScreenshoot:
def__init__(self):
#self.bbox=bbox
#self.name=name
#self.im=ImageGrab.grab(self.bbox)
#定位xy坐标,confidence为相似度判断,最好不要使用1.0完全相似,比较容易不识别
self.position_1=auto.locateCenterOnScreen('1.png',confidence=0.9)
self.position_2=auto.locateCenterOnScreen('2.png',confidence=0.9)
self.position_3=auto.locateCenterOnScreen('+.png',confidence=0.9)
self.position_4=auto.locateCenterOnScreen('=.png',confidence=0.9)
pass
deffullshoot(self):
#全屏截图
#self.im.save('01.png')
pass
defpartialshoot(self):
#局部精确截图
#self.im.save(self.name+'.png')
pass
defposition_show(self):
#打印各坐标
print(self.position_1)
print(self.position_2)
print(self.position_3)
print(self.position_4)
defcaculate(self):
#依次点击按钮
auto.click(self.position_1)
auto.click(self.position_3)
auto.click(self.position_2)
auto.click(self.position_4)
#对象初始化
shoot1=Screenshoot()
#对象函数执行
shoot1.position_show()
shoot1.caculate()
#shoot1.partialshoot()
#shoot1.fullshoot()
运行结果
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。