text属性的方法

driver.find_element_by_android_uiautomator('new UiSelector().text("字节跳动公司")').click()    #text 精准定位全文
 
driver.find_element_by_android_uiautomator('new UiSelector().textContains("字节")').click()   #textContains 包含text文字
 
driver.find_element_by_android_uiautomator('new UiSelector().textStartsWith("字")').click()  #textStartsWith 以text什么开始
 
driver.find_element_by_android_uiautomator('new UiSelector().textMatches("^字节.*")').click() #textMatches  正则匹配text

 

 

 

class属性的方法

 

#className
driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.TextView").text("Custom View")').click()     
 
 
#classNameMatches
driver.find_element_by_android_uiautomator('new UiSelector().classNameMatches(".*TextView$").text("CustomView")').click()

  

 

 

 伪xpath方法定位

 

1 #通过同级元素定位同级元素
2 driver.find_element_by_android_uiautomator('new UiSelector().text("Custom View").fromParent(new  UiSelector().text("Accessibility Service"))').click()            
3  
4 #通过父级元素定位子集元素
5 driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.ListView").childSelector(newUiSelector().text("Custom View"))').click()
6  

 

 resourceId属性的方法

 

1 driver.find_element_by_id('android:id/button2').click()

 

 

 

 

uiautomator() 方法

 

1 #resourceId
2 driver.find_element_by_android_uiautomator('new UiSelector().resourceId("android:id/text1")')
3  
4  
5 #resourceIdMatches
6 driver.find_element_by_android_uiautomator('new UiSelector().resourceIdMatches(".*id/text1$")')

 

description属性的方法
 
1 #description
2 driver.find_element_by_android_uiautomator('new UiSelector().description("Custom View")').click()
3  
4 #descriptionStartsWith
5 driver.find_element_by_android_uiautomator('new UiSelector().descriptionStartsWith("Custom")').click()
6  
7 #descriptionMatches
8 driver.find_element_by_android_uiautomator('new UiSelector().descriptionMatches("^Custom.*")').click()

 

 

元素的其他属性

除了以上比较常用的方法外,UIAutomator还支持其他一些方法,比如根据控件属性是否可点击可聚焦可长按等来缩小要定位的控件的范围,具体使用方法不一一列举(checked,clickable,focesed.......)

  

1 driver.find_element_by_android_uiautomator('new UiSelector().clickable(true).text("Custom View")').click()