python之PyAutoGui教你做个自动脚本计算器的方法

 更新时间:2021年03月07日 16:59:42   作者:稳健小周  
这篇文章主要介绍了python之PyAutoGui教你做个自动脚本计算器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前提环境准备

python3+pillow+pyautogui

先提前安装好python3以及pillow和pyautogui模块

这里介绍一下模块安装方法

pip install pillow
pip install pyautogui
pip install opencv-python

最终效果是利用python脚本模拟电脑计算器进行自动计算,相当于模拟人去点击自带的计算器进行运算,想要做到这一点需要有两个条件:

1.模拟鼠标和键盘的输入工作

2.识别计算器按钮的位置

先来看一下win10电脑的计算器是什么样子的:

我们要知道一点,计算器窗口的位置每次都是不同的,如果你是固定去确定按钮的坐标那就太被动了,所以我们这里需要用到图像识别,去识别到按钮的位置,博主这里

做一个示例 做一个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非递归全排列实现方法

    python非递归全排列实现方法

    下面小编就为大家带来一篇python非递归全排列实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • python url 参数修改方法

    python url 参数修改方法

    今天小编就为大家分享一篇python url 参数修改方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 解决django接口无法通过ip进行访问的问题

    解决django接口无法通过ip进行访问的问题

    这篇文章主要介绍了解决django接口无法通过ip进行访问的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 详解python中__name__的意义以及作用

    详解python中__name__的意义以及作用

    这篇文章主要介绍了详解python中__name__的意义以及作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • python开头的coding设置方法

    python开头的coding设置方法

    今天小编就为大家分享一篇python开头的coding设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python中reduce()函数的使用方法示例

    python中reduce()函数的使用方法示例

    reduce() 函数会对参数序列中元素进行累积,下面这篇文章主要给大家介绍了关于python中reduce()函数的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-09-09
  • 十个简单使用的Python自动化脚本分享

    十个简单使用的Python自动化脚本分享

    今天小编给大家分享10个Python高级脚本,帮助我们减少无谓的时间浪费,提高工作学习中的效率。文中示例代码讲解详细,需要的可以参考一下
    2022-05-05
  • python中数据爬虫requests库使用方法详解

    python中数据爬虫requests库使用方法详解

    本篇文章主要介绍了python中数据爬虫requests库使用方法详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 使用pycharm设置控制台不换行的操作方法

    使用pycharm设置控制台不换行的操作方法

    今天小编就为大家分享一篇使用pycharm设置控制台不换行的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 跟老齐学Python之不要红头文件(2)

    跟老齐学Python之不要红头文件(2)

    在前面学习了基本的打开和建立文件之后,就可以对文件进行多种多样的操作了。请看官要注意,文件,不是什么特别的东西,就是一个对象,如同对待此前学习过的字符串、列表等一样。
    2014-09-09

最新评论