首页 > 解决方案 > 需要使用从父节点导航的相对路径来定位 Xpath

问题描述

我正在使用 UIautomator 来识别本机移动应用程序的对象。我正在尝试为给定屏幕截图的车辆模型字段定位 Xpath,但该对象与同一页面的其他 2 个对象具有相同的类和包名称。

所以我正在尝试编写一个相对路径。我尝试了以下路径,该路径因无法定位对象错误而失败。如何在这里确定正确的 xpath?

我在下面尝试了失败:

xpath="//android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Spinner/android.widget.TextView[contains(text(),'86')]"

图片:

在此处输入图像描述

标签: androidseleniumxpathappiumandroid-uiautomator

解决方案


根据您提供的HTMLandroid.widget.Spinner快照和您的代码试验,该节点不是其父节点的唯一子android.widget.LinearLayout节点。因此,您会看到错误。

解决方案

将xpath更改为:

"//android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout//android.widget.Spinner/android.widget.TextView[contains(text(),'86')]"

推荐阅读