Python使用PyAutoGUI实现自动计算器脚本
本文介绍如何利用Python的PyAutoGUI和Pillow库,结合OpenCV图像识别技术,编写自动计算器脚本。通过截取数字和符号图片,定位其在屏幕上的坐标,模拟鼠标点击完成1+2=等运算,解决窗口位置变动问题,实现非固定坐标的自动化操作。
环境准备
环境准备
python3+pillow+pyautogui
首先需要安装Python 3环境,并配置pillow和pyautogui这两个核心模块。
接下来介绍具体的模块安装步骤。
模块安装方法
pip install pillow
pip install pyautogui
pip install opencv-python
自动计算原理与条件
本方案的核心目标是利用Python脚本模拟操作Windows系统自带的计算器进行自动计算。其原理类似于人类用户手动点击计算器按钮,要实现这一功能,必须满足两个关键条件:
第一,能够模拟鼠标和键盘的输入操作。
第二,能够准确识别计算器界面上各个按钮的具体位置。
首先观察Windows 10系统中计算器的界面样式。

图像识别与动态定位
需要注意的是,计算器窗口在屏幕上的位置每次打开都可能不同。如果采用固定坐标来定位按钮,方案将缺乏灵活性且容易失效。因此,这里引入图像识别技术来动态获取按钮位置,博主在此进行演示。
我们将通过一个示例来演示如何执行“1+2=”的计算过程。
代码实现与截图准备
下面直接展示代码实现,请结合代码中的注释进行阅读,确保理解代码逻辑。
请先使用微信截图工具截取数字“1”、加号“+”、数字“2”以及等号“=”这四张按钮图片,并将它们保存在脚本所在的目录中。

以下是完整的代码实现细节。
#导入模块
from PIL import ImageGrab
import pyautogui as auto
#定义类
class Screenshoot:
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
def fullshoot(self):
#全屏截图
#self.im.save('01.png')
pass
def partialshoot(self):
#局部精确截图
#self.im.save(self.name+'.png')
pass
def position_show(self):
#打印各坐标
print(self.position_1)
print(self.position_2)
print(self.position_3)
print(self.position_4)
def caculate(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()
运行结果与总结
程序运行后的输出结果如下。

至此,关于使用Python PyAutoGUI制作自动计算器脚本的介绍已完成。如需了解更多PyAutoGUI自动脚本计算器的相关内容,欢迎搜索本站往期文章或继续阅读后续文章,感谢大家的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









