Appium+python自动化12-appium元素定位
前言
appium定位app上的元素,可以通过id,name.class这些属性定位到
一、id定位
1.appium的id属性也就是通过UI Automator工具查看的resource-id属性
2.如上图的定位,就可以通过id来定位
格式:driver.find_element_by_id("这里是resource-id")
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit")
二、name定位
1、name定位就是通过UI Automator工具查看的text属性
**appium1.5以下老的版本是可以通过name定位的,新版本从1.5以后都不支持name定位了**
(如果text属性为空,那就不能通过name属性定位了)
2.如上图的定位,就可以通过name来定位
格式:driver.find_element_by_name("这里是text")
driver.find_element_by_name("搭配新宠不能缺")
三、class属性
1.class定位就是通过UI Automator工具查看的class属性
2.如上图的定位,就可以通过class来定位
格式:driver.find_element_by_class_name("class属性")
driver.find_element_by_class_name("android.widget.EditText")
(注:一般一个页面上的class属性不唯一,元素不唯一的话定位会报错了)
四、accessibility_id
1.accessibility_id定位就是通过UI Automator工具查看的content-desc属性
(当然下图这个元素的content-desc属性为空,就不能通过这个属性定位了,这里只是举个例子)
2.如上图的定位,看到content-desc属性有值,就可以通过accessibility_id来定位了
格式:driver.find_element_by_accessibility_id(“content-desc的值”)
driver.find_element_by_accessibility_id(“xxx”)
(注:一般一个页面上的class属性不唯一,元素不唯一的话定位会报错了)
除了上面的这几个通过属性定位的,复杂一点的还可以通过xpath和AndroidUiAutomator来定位,后面继续介绍
在学习过程中有遇到疑问的,可以appium+python QQ群交流:330467341