appium定位方法

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'}

原文地址:https://www.cnblogs.com/kaibindirver/p/8145478.html