我无法使用xpath识别元素。附上相同的屏幕截图。我想确定<android.widget.LinearLayout>
下标记为<android.widget.ListView>
的元素列表,并使用了XPath表达式:
//android.widget.ListView/android.widget.LinearLayout
仅返回 1st 节点中的所有元素,而不返回<android.widget.LinearLayout>
下的元素。
有人可以帮助我吗?提前谢谢。
答案 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]");