前言
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