1.id定位
driver.find_element_by_id("這里是resource-id")
2.name定位 (新版本的appium 1.7 已經沒有這個定位方法了)
driver.find_element_by_name("這里是text")
3.class定位
driver.find_element_by_class_name("class屬性")
(注:一般一個頁面上的class屬性不唯一,元素不唯一的話定位會報錯了)
4..accessibility_id定位
driver.find_element_by_accessibility_id(“content-desc的值”)
5.坐標定位
driver.tap([(374, 831), (654, 906)], 500) 500是點擊時間 tap是模擬點擊

6.Xpath定位
driver.find_element_by_xpath(“xpath”)
android_uiautomator定位方法
text文本定位: 定位元素文案為"Login"的按鈕
dr.find_element_by_android_uiautomator('text(\"Login\")').click()
dr.find_element_by_android_uiautomator("new UiSelector().text(\"Login\")").click() #第2種寫法
精確定位
模糊定位
dr.find_element_by_android_uiautomator('textContains(\"Log\")').click()
dr.find_element_by_android_uiautomator("new UiSelector().textContains(\"Login\")").click() #第2種寫法
后記:
ios的 是 driver.find_element_by_ios_uiautomation()

后記:
這里 可以配合
做顯示等待
https://www.cnblogs.com/kaibindirver/p/8401847.html
https://www.cnblogs.com/kaibindirver/p/10558311.html
resource-id定位
dr.find_element_by_android_uiautomator("new UiSelector().resourceid(\"resource-id\")").click()
className定位
dr.find_element_by_android_uiautomator("new UiSelector().className(\"className\")").click()
className復數定位 (感覺這個方法沒啥用啊?)
loc_calss="new UiSelector().className(\"className\")"
dr.find_element_by_android_uiautomator(loc_calss)[2].click()
組合定位
text+resourceid
dr.find_element_by_android_uiautomator('resourceid(\"resource-id\").text(\"Login\")').click()
這里的都可以用 password屬性 如: new UiSelector().password(\"false\")")在和上面一樣組合或者單獨用 ------- 我猜的
后記:
使用這個定位方法記得在頭部加參數
desired_caps = { 'automationName': 'Uiautomator'}
