一、根据ID 包名可省略
1、元素的resource id属性
2、唯一标志该元素的值
3、一般最优先根据它来定位
driver.find_element_by_id(‘io.manong.developerdaily:id/btn_email‘)
driver.find_elements_by_id(‘btn_email‘) 包名可以省略
4、有时候并非唯一指定
二、根据class name 包名可省略
1、class属性决定了界面元素的类型
2、如果
我们要查找的是某种类型的界面元素
而且这种类型的界面元素在当前界面只有一个
driver.find_element_by_class_name(‘android.widget.ImageView‘)
3、唯一性少见,一般用于局部查找。利用上层元素找目标元素
三、根据ACCESSIBILITY ID 包名可省略
1、content-desc属性是用来描述该元素的作用
2、如果
要查询的界面元素的content-desc属性 在当前界面中唯一
driver.find_element_by_accessibility_id(‘heheh‘)
3、一般开发者不愿意写
四、根据Xpath
1、定位比较复杂的元素
2、相对不成熟,很多时候正确的语法也无法定位到元素