Android 自动化之元素定位 xpath

1.通过xpath定位元素

uiautomatorviewer  获取元素路径

2. 像图片1的元素路径 为:

find_element_by_xpath("//android.support.v4.view.ViewPager/android.widget.Linearlayout/android.widget.LinearLayout[3]/android.widget.Button[1]")

从外往里一层一层的剥,最终找到要的元素。

注意:xpath路径不能从最外层的整个页面开始,那样会报错。要从包含该控件的最上层的class开始写。

什么是包含该空间的最上层元素呢? 像这里是:android.support.v4.view.ViewPager

我们点击 android.support.v4.view.ViewPager 就发现 实际就是整个键盘区域

andriod.support.v4.view.ViewPager

元素的定位貌似和我们用uiautomatorviewer获取到的不一致。

android.widget.LinearLayout[3]/android.widget.Button[1]  而不是 android.widget.LinearLayout[2]/android.widget.Button[0]

笔者认为要 定位第三个android.widget.Linearlayout中的第一个button.

有一种说法xpath定位元素是从1开始 而不是从0开始

原文地址:https://www.cnblogs.com/dongtian/p/9568283.html