不包含子 appium 的 Xpath
Xpath that does not contain a child appium
我是 appium 新手。
我的屏幕内有一个元素列表,这些元素处于相关布局中
但是列表包含不同类型的元素,我只想访问具有特定类型的元素。
例如:
宣传看起来像这样
- [相对布局]
- [查看]
- [网络视图]
正常文章会有这个
- [相对布局]
- [视图 ID=view_id]
- [ImageView id=picture_id]
- [TextView id=title_id]
订阅者文章将包含此
- [相对布局]
- [视图 ID=view_id]
- [ImageView id=picture_id]
- [ImageView id=subscriber_id]
- [TextView id=title_id]
如何 select 只有 "normal" 篇文章?
我试过了
List<WebElement> list = el.findElements(By.xpath("//android.widget.RelativeLayout[not(.//android.widget.ImageView)]"));
但是没用:/
我不确定您为什么尝试使用 not(.//android.widget.ImageView)
,因为 普通文章 ,如前所述,包含一个 ImageView
。相反,您可能想查找仅包含一个 ImageView
.
的 RelativeLayout
在XPath中,可以使用count()
来过滤包含一定数量后代元素的元素,例如:
//android.widget.RelativeLayout[count(.//android.widget.ImageView) = 1]
我是 appium 新手。 我的屏幕内有一个元素列表,这些元素处于相关布局中 但是列表包含不同类型的元素,我只想访问具有特定类型的元素。
例如: 宣传看起来像这样
- [相对布局]
- [查看]
- [网络视图]
- [查看]
正常文章会有这个
- [相对布局]
- [视图 ID=view_id]
- [ImageView id=picture_id]
- [TextView id=title_id]
订阅者文章将包含此
- [相对布局]
- [视图 ID=view_id]
- [ImageView id=picture_id]
- [ImageView id=subscriber_id]
- [TextView id=title_id]
如何 select 只有 "normal" 篇文章?
我试过了
List<WebElement> list = el.findElements(By.xpath("//android.widget.RelativeLayout[not(.//android.widget.ImageView)]"));
但是没用:/
我不确定您为什么尝试使用 not(.//android.widget.ImageView)
,因为 普通文章 ,如前所述,包含一个 ImageView
。相反,您可能想查找仅包含一个 ImageView
.
RelativeLayout
在XPath中,可以使用count()
来过滤包含一定数量后代元素的元素,例如:
//android.widget.RelativeLayout[count(.//android.widget.ImageView) = 1]