Android自动化-如何获取视图元素属性?
在做Android自动化时候,我们需要知道视图有哪些元素,元素都有哪些属性,获取到属性我们才能获取到元素从而做自动化控制,所以做Android自动化获取元素属性是必要的第一步
获取视图元素属性最便捷的方式就是使用Android SDK中的 uiautomatorviewer,当你配置好Android的开发环境后就能直接使用 uiautomatorviewer。
使用uiautomatorviewer获取视图元素
Windows上启动UI Automator
确保已经安装了Android SDK。
通过文件资源管理器启动
- 打开文件资源管理器。
- 导航到你安装Android SDK的目录,通常是
C:\Users\你的用户名\AppData\Local\Android\Sdk\tools\bin
。 - 找到
uiautomatorviewer.bat
文件。 - 双击
uiautomatorviewer.bat
文件来启动UI Automator Viewer。
通过命令提示符启动
- 打开命令提示符(CMD)。
- 如果你还没有将Android SDK的
tools
目录添加到环境变量中,使用以下命令回车键启动:
C:\Users\你的用户名\AppData\Local\Android\Sdk\tools\bin\uiautomatorviewer.bat
- 如果tools目录已添加到环境变量,直接输入以下命令回车键启动:
uiautomatorviewer
Mac上启动UI Automator
确保已经安装了Android SDK。
通过Finder启动
- 打开Finder。
- 前往
/Users/你的用户名/Library/Android/sdk/tools/bin
目录。 - 双击
uiautomatorviewer
应用程序图标来启动它。
通过终端启动
- 打开终端(Terminal)。
- 如果你还没有将Android SDK的
tools
目录添加到PATH环境变量中,使用以下命令回车键启动:
/Users/你的用户名/Library/Android/sdk/tools/bin/uiautomatorviewer
- 如果tools目录已添加到PATH,直接输入以下命令回车键启动:
uiautomatorviewer
启动后的界面

获取视图元素
1. 连接手机(开启usb调试)

2. 截取视图

3. 选择目标元素
比如我们选中微信启动图标后,在右下角就能查看元素的属性了,右上角是视图层级

当然除了使用uiautomatorviewer获取视图元素外,还可以使用下面的几个框架来获取,就是要多花些功夫熟悉学习下
拿到视图元素属性后,我们就可以通过属性的text、resource-id、class、或者bounds(元素在屏幕中的位置)获取元素来执行各种操作,甚至也可以通过视图结构去定位获取元素等等。
如何获取元素以及执行各种操作?
合集:
Android自动化
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库