【发布时间】:2019-07-26 02:00:11
【问题描述】:
由于某种原因,我无法在 Android 上获取元素的所有直接子元素。显然,在元素中搜索子元素时 XPath 无法正常工作,或者 XPath 范围在 Appium 中未正确实现。
parentElement.findElements(By.xpath(...))
我尝试了什么:
*
./*
.//*
.//child::*
./child::*
//*
//child::*
我的结果要么是零,要么是所有节点(甚至在父元素之外),要么是所有后代。
唯一对我有用的是:
.//*[@resource-id='RESOURCE-ID-OF-PARENT']/child::*
但这是一个非常糟糕的解决方法,因为可能有多个元素具有相同的资源 ID(仅供参考,我正在编写基于 Appium 的包装器)
我试图在这里搜索所有答案,但找不到任何可行的解决方案。
欢迎任何帮助,谢谢。
【问题讨论】:
-
一些附加信息可能会有所帮助。你能描述一下你正在寻找什么样的子元素吗?子元素是否无法以其他方式访问?我知道您可能无法分享太多内容,但是 uiautomator 屏幕的层次结构树的屏幕截图可能会有所帮助,特别是如果您可以突出显示您的“父”和潜在的子元素,理想情况下是父元素和至少一个子元素的属性.
-
当然。例如,我想获取回收站视图的所有项目。好吧,我不是在谈论任何特定的层次结构树。我想构建一个包装类,它允许我找到给定 Appium Element(WebElement 类及其子类)对象的所有(无论哪种)子对象。
标签: android xpath appium children