不包含子appium的Xpath

时间:2016-04-21 08:19:18

标签: android xpath appium

我是appium的新手。 我有一个屏幕内的元素列表,它们是亲戚布局 但是列表包含不同类型的元素,我想只访问具有特定类型的元素。

例如: 宣传将如下所示

  • [相对布局]
    • [查看]
      • [网络浏览]

正常的文章会有这个

  • [相对布局]
    • [查看内容= view_id]
    • [ImageView id = picture_id]
    • [TextView id = title_id]

订阅者文章将有此

  • [相对布局]
    • [查看内容= view_id]
    • [ImageView id = picture_id]
    • [ImageView id = subscriber_id]
    • [TextView id = title_id]

如何只选择“普通”文章?

我试过这个           List<WebElement> list = el.findElements(By.xpath("//android.widget.RelativeLayout[not(.//android.widget.ImageView)]"));

但是没有用:/

1 个答案:

答案 0 :(得分:2)

我不确定您为何尝试使用not(.//android.widget.ImageView),因为普通文章,如上所述,包含ImageView。相反,您可能希望找到仅包含一个RelativeLayout的{​​{1}}。

在XPath中,您可以使用ImageView过滤包含特定数量的后代元素的元素,例如:

count()