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")
相关推荐
wuxinyan12313 分钟前
工业级大模型学习之路031:Streamlit 高级功能多会话管理和知识库管理
python·学习·智能体
llilay14 分钟前
企业级FastAPI后端模板搭建(三)整合日志Log
数据库·python·fastapi
小江的记录本20 分钟前
【Spring AI】Spring AI中RAG误触发与系统提示词泄露问题解决方案(完整版+代码方案)
java·人工智能·spring boot·后端·python·spring·面试
勇往直前plus27 分钟前
Python 属性访问与操作全解析:内置函数、魔法方法与描述符深度指南
java·网络·python
Arenaschi33 分钟前
关于GPT的版特点
java·网络·人工智能·windows·python·gpt
weixin_468466851 小时前
Data-Engineering-Zoomcamp 新手实战指南
python·自动化·pandas·编程·数据处理
sleven fung1 小时前
Milvus 向量数据库
开发语言·数据库·python·langchain·milvus
aqi001 小时前
15天学会AI应用开发(三)把历史对话作为提示词会怎样
人工智能·python·大模型·ai编程·ai应用
大数据魔法师1 小时前
Streamlit(十八)- API 参考文档(十一)- 页面导航组件
python·web