Python使用PyAutoGUI实现自动计算器脚本

Felix
Felix
发布时间:2026-10-14 | 3人浏览过
原创

本文介绍如何利用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自动脚本计算器的相关内容,欢迎搜索本站往期文章或继续阅读后续文章,感谢大家的支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表