python使用uiautomator2操作雷电模拟器9找图

接上篇文章python使用uiautomator2操作雷电模拟器9并遇到解决adb 连接emulator-5554 unauthorized问题-CSDN博客

搭建好uiautomator2后,主要就是使用了。

本文就利用uiautomator2的截屏、模拟点击和aircv的找图功能,实现对指定寻找的图片的位置的点击。

环境:python3.8.10,雷电模拟器9

安装库:pip38 install aircv

找图文章参考:

https://blog.51cto.com/u_16213450/9633239

ac.find_template识别图片并定位-CSDN博客 

上我的代码:

import aircv as ac
import uiautomator2 as u2
import time

d = u2.connect() # connect to device
print(d.info)

displayWidth = d.info['displayWidth']
displayHeight = d.info['displayHeight']
print(displayWidth,displayHeight)


imsrc = ac.imread('s1.png')#源图,全范围图
imobj = ac.imread('s2.png')#目标图,局部图
pos = ac.find_template(imsrc, imobj)
print(pos)
print(pos['result'][0])#横坐标
print(pos['result'][1])#纵坐标
#找不到的时候,会返回None
#找到的时候,返回{'result': (360.0, 828.5), 'rectangle': ((307, 808), (307, 849), (413, 808), (413, 849)), 'confidence': 0.9999998807907104}
#pos的数据含义为匹配图片在原始图片上的中心坐标点,也就是我们要找的click点,rectangle为矩形坐标(以左上角为坐标原点),confidence是匹配度。
# if float(pos['confidence']) > 0.95:#符合精准度,就是找到了
#     print('Have Search')

#使用uiautomator2的click点击找到的图片
#uiautomator2中click输入的是比例(为了适应各种手机屏幕),需要使用 目标点像素的宽 / 屏幕宽,目标点像素高 / 屏幕高
time.sleep(3)

d.click(pos['result'][0]/displayWidth,pos['result'][1]/displayHeight)

上述代码中,s1.png是用uiautomator2的截图命令截取的。

d.screenshot('s1.png')

 

s2.png为其中的一部分图片(这是要自己设定的),如图:

 

注意:提取s2.png的时候,一定要使用画图板打开s1.png,然后比例是100%的时候,再裁切得到s2.png,否则会有意想不到的错误(找不到图片,pos返回None)。 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/532108.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

观察者模式与发布-订阅模式的对决

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

javaWeb网上零食销售系统

1 绪 论 目前,我国的网民数量已经达到7.31亿人,随着互联网购物和互联网支付的普及,使得人类的经济活动进入了一个崭新的时代。淘宝,京东等网络消费平台功能的日益完善,使得人们足不出户就可以得到自己想要的东西。如今…

PCB学习记录---原理图

一、注释 NC:no connect,默认不连接 NF: no fix,默认不安装 0R: 0R的电阻,即可以短路 二、看图流程 1、看标题,了解功能 2、浏览有几个模块 3、找芯片对应的数据手册,了解芯片功能和使用 例如CH224&#xff…

gradio简单搭建——关键词匹配筛选【进一步优化】

gradio简单搭建——关键词匹配筛选[进一步优化] 任务回顾新的想法:无效元素筛选界面搭建数据处理与生成过程交互界面展示 任务回顾 在 apply \text{apply} apply方法的使用一节中,简单提到了任务目标:通过关键词的形式,在文本数据…

Harmony鸿蒙南向驱动开发-DAC

DAC(Digital to Analog Converter)是一种通过电流、电压或电荷的形式将数字信号转换为模拟信号的设备。 DAC模块支持数模转换的开发。它主要用于: 作为过程控制计算机系统的输出通道,与执行器相连,实现对生产过程的自…

【讲解下Fiddler的安装和使用】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

支小蜜校园刷脸支付系统的优势在哪里?

在当今社会,校园欺凌问题日益受到人们的关注。校园欺凌不仅影响学生的身心健康,还可能导致其产生厌学、逃学甚至报复社会的行为。建立校园防欺凌系统对于学校而言,具有极其重要的意义。本文将详细探讨校园防欺凌系统对学校的好处。 一、保障…

3.1 基本形式 机器学习

从本章本节开始就开始正式介绍机器学习的算法了!我们首先登场的是---------线性模型。 w可以理解为权重,我们的x就是我们的样本点的各个特征数值,最后输出模型f(x)。其代表我们把样本点带入,以二分类为例&a…

金三银四面试题(十七):MySQL面试都问什么(2)

今天我们继续盘点那些高频的MySQL面试题。 说说InnoDB与MyISAM的区别 InnoDB 支持事务,MyISAM 不支持,对于InnoDB 每一条SQL 语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL 语言放在begin 和comm…

密码学基础--搞清RFC和PKCS(1)

目录 1. CryptoDriver里KeyElement格式 2. 挖掘RFC标准 3.小结 昨天从生成密钥对开始逐步了解了公钥、证书等各种编码方式,今天继续趁热打,做一个理论知识汇总。 Ps:我只是标准的翻译搬运工。 1. CryptoDriver里KeyElement格式 在 CryptoKeyElemen…

基于达梦数据库开发-python篇

文章目录 前言一、搭建demo前提初始化简单demo 二、可能出现的异常情况DistutilsSetupErrorNo module named dmPythonlist报错 总结 前言 出于信创的考虑,近年来基于国产数据库达梦的应用开发逐渐变多。本文将介绍在windows环境下基于DM8版本的python的简单开发使用…

【自控笔记】线性系统时域分析法

动态稳态性能 一阶系统 二阶系统 二阶系统单位阶跃 系统稳定性分析

【优选算法专栏】专题四:前缀和(一)

本专栏内容为:算法学习专栏,分为优选算法专栏,贪心算法专栏,动态规划专栏以及递归,搜索与回溯算法专栏四部分。 通过本专栏的深入学习,你可以了解并掌握算法。 💓博主csdn个人主页:小…

还不会免费将PDF转为Word?赶快试试这3种工具!

PDF文档格式转换是高频且刚需的办公需求,虽然很简单,但其实绝大部分人找不到合适的工具。 将PDF免费转为Word的方法有很多,这里主要介绍三种工具。 第一种使用最常见的Word软件,第二种使用免费转换网站pdf2doc,第三种…

cmocka入门教程

文章目录 摘要前言什么是mockmock示例cmocka安装使用mock function替换subfunction控制mock function的输入和输出 摘要 本文介绍cmocka中,mock的使用。 前言 在这之前,需要了解最基本的cmocka使用。如果之前有gtest的编程经验,掌握cmocka的…

蓝桥杯 迷宫(bfs)

0迷宫 - 蓝桥云课 (lanqiao.cn) 思路 : 最后一定要倒数输出路径,因为从前面输出你会找不到下一个到底是谁,bfs过程是找最小路径,最后输出是去找方向,但是此题作为一个填空题,我直接手写(开玩笑…

对于Redis,如何根据业务需求配置是否允许远程访问?

1、centos8 Redis安装的配置文件目录在哪里? 在 CentOS 8 中,默认情况下 Redis 的配置文件 redis.conf 通常位于 /etc/ 目录下。确切的完整路径是 /etc/redis.conf。 2、redis如何设置允许远程登录 修改redis.conf文件 # 继承默认注释掉的bind配置 # …

十种mfc140.dll丢失的解决方法,有效解决mfc140.dll丢失的问题

唉,烦人的问题又来了。怎么计算机报错提示mfc140.dll无法启动?这mfc140.dll是何方神圣,竟然连软件程序的正常运行都能影响到?我猜你也被这种困扰搞得头大吧。别着急,下面我会详细分享mfc140.dll丢失时的修复步骤&#…

Android平台RTSP|RTMP播放器如何实现TextureView渲染

技术背景 自2015年我们发布Android平台RTSP、RTMP直播播放模块以来,渲染这块,支持SurfaceView或GlSurfaceView,当然如果开发者需要TextureView渲染,可以把RTSP、RTMP流数据解码回调YUV或RGB数据上来,上层自己渲染。本…

pycharm一直打不开

一直处在下面的页面,没有反应 第一种方案: 以管理员身份运行 cmd.exe;在打开的cmd窗口中,输入 netsh winsock reset ,按回车键;重启电脑;重启后,双击pycharm图标就能打开了&#xf…