使用uiautomatorviewer获取app控件位置

本文介绍如何通过UI Automator工具获取Android应用的控件信息,包括设置前置条件、连接设备、启动工具及识别元素等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前置条件

1、本地电脑已安装 android-sdk

操作步骤

1、手机连接电脑,并打开“开发者选项” 和usb调试。

2、打开cmd窗口,输入adb devices 能找到设备列表。

3、打开sdk 安装目录下的tools文件夹下的uiautomatorviewer.bat 。

在这里插入图片描述

4、双击打开

在这里插入图片描述

5、首先在手机上打开要获取的app控件,第二步点击“红色框” 按钮

在这里插入图片描述

6、选择要识别的元素,查看右边的属性信息。

在这里插入图片描述

### 使用 uiautomatorviewer 获取 Android 应用界面上指定坐标的方法 #### 启动 UI Automator Viewer 为了使用 UI Automator Viewer 工具,可以通过多种方式启动该工具。一种方法是在命令行中运行特定路径下的批处理文件: ```plaintext C:\Users\ou\AppData\Local\Android\Sdk\tools\bin\uiautomatorviewer.bat ``` 另一种更便捷的方式是从 Android Studio 中启动此工具,在菜单栏选择 `Tools` -> `Android` -> `uiautomatorviewer` 即可[^2]。 #### 连接设备并截图 当成功打开 UI Automator Viewer 的图形化界面之后,先要确保已有一台安卓设备通过 USB 或者网络连接到计算机,并且开启了开发者模式以及USB调试功能。点击窗口左下角的“Device Screenshot”按钮来抓取当前屏幕图像[^3]。 #### 查找指定位置上的视图组件 一旦获取到了最新的屏幕快照,就可以在右侧区域看到整个布局树形结构及其对应的属性信息。此时想要定位某一对应坐标的元素,则可以在左侧预览区手动拖拽鼠标选取感兴趣的小范围矩形框;或者直接输入具体的位置参数(X,Y),以此高亮显示所选区域内最匹配的那个控件[^5]。 对于进一步操作这些UI对象的需求,比如读取文本内容或其他特性,可以参考如下Java代码片段作为示范[^1]: ```java import androidx.test.uiautomator.By; import androidx.test.uiautomator.UiDevice; import androidx.test.uiautomator.UiObject2; public class UIAutomatorExample { public static void main(String[] args) throws Exception{ UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); // 假设我们知道目标元素的大致中心点 (x, y),这里只是一个例子 int targetX = 500; int targetY = 800; // 利用 findObjects 方法配合自定义的选择器去寻找符合条件的对象列表 List<UiObject2> objectsNearPoint = device.findObjects(By.clazz("android.view.View").boundsCenter(targetX,targetY)); if (!objectsNearPoint.isEmpty()) { UiObject2 nearestElement = objectsNearPoint.get(0); String textContent = nearestElement.getText(); System.out.println("Nearest Element Text Content:" + textContent); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值