python之PyAutoGui教你做个自动脚本计算器的方法
作者:稳健小周 时间:2022-01-08 15:24:55
前提环境准备
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()
运行结果
来源:https://blog.csdn.net/weixin_45112130/article/details/114391092
标签:PyAutoGui,自动脚本计算器
0
投稿
猜你喜欢
ML神器:sklearn的快速使用及入门
2023-04-17 04:42:09
Python3 Random模块代码详解
2023-04-11 01:36:20
浅谈MySQL与redis缓存的同步方案
2024-01-13 23:44:58
基于python实现垂直爬虫系统的方法详解
2023-11-17 13:33:38
英文版面设计的8个禁忌
2009-10-14 20:42:00
Django Rest framework认证组件详细用法
2023-02-20 09:47:08
python利用pd.cut()和pd.qcut()对数据进行分箱操作
2022-03-26 07:57:45
使用Pyparsing处理复杂文本实现过程
2023-03-21 13:37:44
教你如何在Pycharm中导入requests模块
2023-05-03 13:10:14
深入浅析Python中join 和 split详解(推荐)
2022-09-19 17:43:38
FLASH 全屏播放
2008-07-19 11:36:00
设计师挖掘用户需求浅谈
2009-10-25 13:24:00
Go interface{} 转切片类型的实现方法
2024-05-05 09:31:05
解决用CSS控制DIV居中失效的问题
2010-04-05 21:53:00
Oracle 当前用户下所有表的记录总数
2009-07-14 21:34:00
Python的字典和列表的使用中一些需要注意的地方
2023-01-09 02:03:52
flask SQLAlchemy连接数据库及操作的实现
2024-01-28 09:23:29
解决python 出现unknown encoding: idna 的问题
2023-10-06 21:26:06
Python中使用haystack实现django全文检索搜索引擎功能
2023-06-30 07:21:03
判断所使用的浏览器不仅仅是电脑浏览器代码整理
2023-12-13 10:13:21