无法在Appium中使用xpath定位元素

时间:2014-06-06 05:26:48

标签: xml android-layout listview xpath appium

我无法使用xpath识别元素。附上相同的屏幕截图。我想确定<android.widget.LinearLayout>下标记为<android.widget.ListView>的元素列表,并使用了XPath表达式:

//android.widget.ListView/android.widget.LinearLayout

仅返回 1st 节点中的所有元素,而不返回<android.widget.LinearLayout>下的元素。

有人可以帮助我吗?提前谢谢。

enter image description here

2 个答案:

答案 0 :(得分:1)

以递归方式搜索每个<android.widget.LinearLayout>下的所有元素,将其作为xpath:

xpath = '//android.widget.ListView/android.widget.LinearLayout/*'

但要小心!这是一个非常繁重的操作。在你的截图中,看起来你的每个单元格每行至少有9-10个元素!向Appium询问所有这些元素会破坏你的表现。

我建议做类似的事情:

xpath = '//android.widget.ListView/android.widget.LinearLayout//class_you_want'

说真的,我警告你不要做第一种方法。您应该问自己是否只需要页面上的链接,文本等等,然后使用第二个xpath查找方法。

<强> Also, read the xpath documentation for more information

答案 1 :(得分:0)

您可以尝试:

WebElement row = driver.findElementByXPath("//android.widget.ListView[1]/android.widget.LinearLayout[1]");