python uiautomator2 常用操作

uiautomator2 安装

python uiautomator2 安装及使用-CSDN博客

一, 通过包名可以打开app 

d.app_start('com.gacne.www')

打开app运行后执行代码,查看app具体信息获取包名

d.info

二,执行等待点击

# 160秒内等待xpath定位的出现执行点击

d.xpath('//*[@text="此地"]').wait(160).click() 

三,屏幕截图

png_path = './images/'+str(i)+'.png'
d.screenshot(png_path) 

四,获取文本内容

#第一种
d.xpath('//*[@resource-id="cache-content"]/android.view.View[3]/android.widget.TextView[2]').info.get('text')
#第二种
d.xpath('//*[@resource-id="cache-content"]/android.view.View[3]/android.widget.TextView[2]').get_text()

五,定位元素

(3)ResourceId定位

d(resourceId="com.addcn.android.house591:id/ad_banner").click()

(4)Text定位

d(text="精选").click()

(5)Description定位

d(description="..").click()

(6)ClassName定位

d(className="android.widget.TextView").click()

(7)xpath定位

d.xpath("//*[@content-desc='分享']").click()

六,通过父级定位元素

d(resourceId="com.ss.android.ugc.aweme:id/a0b").child(className="android.widget.FrameLayout")

 选择父级下的一个元素

d(className="androidx.recyclerview.widget.RecyclerView").child(className="android.widget.FrameLayout")[0].get_text()

child_by_text 定位子元素

#定位父级下text为'xxx',class为'com.lynx.tasm.behavior.ui.text.FlattenUIText'的元素

d(resourceId="com.ss.android.ugc.aweme:id/a0b").child_by_text('xxx',className="com.lynx.tasm.behavior.ui.text.FlattenUIText")  

child_by_description 

#定位父级下description 为'xxx',class为'com.lynx.tasm.behavior.ui.text.FlattenUIText'的元素

re = d(resourceId="com.ss.android.ugc.aweme:id/a0b").child_by_description('xxx',className="com.lynx.tasm.behavior.ui.text.FlattenUIText")

 siblings

#定位text为'xxx',class为'com.lynx.tasm.behavior.ui.view.UIView'的兄弟元素

d(text="zcdsczzx").sibling(text="xxx",className="com.lynx.tasm.behavior.ui.view.UIView")

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql中单表查询的成本

大家好。我们知道MySQL在执行一个查询时,经常会有多个执行方案,然后从中选取成本最低或者说代价最低的方案去真正的执行查询。今天我们来聊一聊单表查询的成本。 那么到底什么是成本呢?这里我们说的成本或者代价是由两方面组成的&#xff1a…

【踩坑】编译opencv将python (for build) python2.7改为python3

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 出现问题 默认是2.7 解决方案 cmake时候添加: -D PYTHON_DEFAULT_EXECUTABLE$(which python3)

详尽的Ubuntu 24.04 LTS安装指南

Ubuntu安装过程涉及多个步骤,下面是一个详尽的Ubuntu 24.04 LTS安装指南 ### 一、准备工作 **1. 系统要求** * **CPU**:至少2GHz双核处理器。 * **内存**:推荐4GB或以上。 * **硬盘**:建议至少预留25GB可用空间。 * **U盘**&am…

02 Prometheus入门安装教程

02 Prometheus入门安装教程 大家好,我是秋意零。今天分享一篇入门级Prometheus安装教程。 环境准备 三台Linux虚拟机(一台也可以) 准备Prometheus、相关组件安装包 Prometheus官网下载安装包比较慢,如果没有魔法。可关注公众号…

【UnityUI程序框架】The PureMVC Framework核心你会用吗

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:Uni…

Python | Leetcode Python题解之第105题从前序与中序遍历序列构造二叉树

题目: 题解: class Solution:def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode:if not preorder:return Noneroot TreeNode(preorder[0])stack [root]inorderIndex 0for i in range(1, len(preorder)):preorderVal pr…

rxjava BehaviorProcessor特性和使用说明

概念和说明 BehaviorProcessor 的定义 BehaviorProcessor 是 FlowableProcessor 的一个具体实现,它同时具备发布和订阅的能力。它会保存最新的一个事件,并在新订阅者订阅时,立即将该事件发送给新订阅者。 主要特性 缓存最新事件&#xff…

计算机毕业设计python+spark天气预测 天气可视化 天气大数据 空气质量检测 空气质量分析 气象大数据 气象分析 大数据毕业设计 大数据毕设

摘 要 近些年大数据人工智能等技术发展迅速,我国工业正努力从“制造”迈向“智造”实现新跨越。神经网络(NeuronNetwork)是一种计算模型,通过大量数据的学习,来发现数据之间的模式和规律,模仿人脑神经元的工作方式。随着算力的提…

音视频集市应用融合平台方案

音视频应用即有深度又有广度,如何让一个平台拥有更多功能更灵活的拓展能力,从单体模块化,多插件到微服务都有大量的实践。 笔者在实际开发过程也同样面对这些纷繁复杂而又必须共容共通需求的挑战。 在实战开发了大量从服务端到设备端再到浏览…

vos3000外呼系统如何查询授权信息和系统并发

要查询VOS3000外呼系统的授权信息和系统并发情况,您可以按照以下步骤进行: 登录系统管理界面: 使用管理员账号登录VOS3000外呼系统的管理界面。 查找系统信息: 寻找系统信息或授权管理的相关选项或标签。 查询授权信息&#xff…

五篇季度思想汇报

季度思想汇报一 尊敬的党组织: 时光荏苒,转眼间一个季度又过去了。在这一季度里,我经历了许多,也有了不少的感悟和成长。 在工作中,我积极投入,努力提升自己的专业技能,面对各种任务和挑战&am…

Linux:IPC - System V

Linux:IPC - System V 共享内存 shm创建共享内存shmgetshmctlftok 挂接共享内存shmatshmdt shm特性 消息队列 msgmsggetmsgctlmsgsndmsgrcv 信号量 semSystem V 管理机制 System V IPC 是Linux系统中一种重要的进程间通信机制,它主要包括共享内存 shm&am…

物理内存与虚拟内存的区别

物理内存和虚拟内存是计算机系统中重要的概念,它们有着不同的特点和作用。 物理内存: 物理内存是计算机实际存在的内存,通常指的是RAM(随机存取存储器)。物理内存直接映射到计算机的物理地址空间,可以直接被…

⌈ 传知代码 ⌋ 高速公路车辆速度检测软件

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

【NumPy】全面解析NumPy的where函数:高效条件操作指南

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

哈希冲突的常见解决方法【附C++代码】

在C中,哈希表是一种常用的数据结构,用于实现快速的插入、删除和查找操作。 哈希表的核心在于哈希函数,它将输入的关键字转换为一个数组索引。然而,不同的关键字可能映射到相同的索引,这种情况称为哈希冲突。 有效地解…

走进全球LED显示龙头艾比森,深挖逆势增长43%的数智化逻辑

在大环境不景气的情况下,有一家智能制造企业在2023年营收40亿,同比增长高达43%,海外营收增长约 46%,并且连续12年单品牌出口额第一。 这就是全球LED显示龙头艾比森。 5月9日,纷享销客带领近70位企业高管走进纷享销客…

使用Nginx将服务器目录、文件共享出来

1.配置映射路径,加入映射目录 location /abc/ { autoindex on; autoindex_localtime on; charset utf-8; alias /usr/mydir/; } 2.重载Nginx配置 nginx -s reload 3.访问 http://XXX.XXX.XXX.XXX/abc/ 即可 注: 如果…

短视频再度重逢:四川京之华锦信息技术公司

短视频再度重逢 在数字化时代的浪潮中,短视频以其独特的魅力迅速崛起,成为现代人生活中不可或缺的一部分。而当我们谈论起短视频,我们不仅仅是在谈论一种娱乐方式,更是在谈论一种情感的载体,一种回忆的媒介。今天&…

PHP8.0 match函数

match 表达式是 PHP 8.0 引入的一个新的控制结构,它提供了一种简洁且更强大的方式来进行条件匹配。与 switch 语句相比,match 表达式具有以下优势: 返回值:match 是一个表达式,它会返回一个值。严格比较:m…