1. 程式人生 > >Appium+Python 自動化-appium常用元素定位方法

Appium+Python 自動化-appium常用元素定位方法

1. ID定位

# resourceId屬性的方法
driver.find_element_by_id('com.lizi.app:id/setting_imageView').click()  
#以accessibility_id進行定位,對Android而言,就是content-description屬性
driver.find_element_by_accessibility_id('push_button').click() 

2. ClassName 定位

# 定位唯一元素  
self.driver.find_element_by_class_name("android.widget.EditText")  
# 找到所有android.widget.EditText並定位第一個
self.driver.find_elements_by_class_name("android.widget.EditText")[0] 

3. Name 定位

#根據name進行定位,對於android來說,就是text屬性
driver.find_element_by_name(u"登 錄").click()

 4. Xpath 定位

driver.find_elements_by_xpath('//android.widget.TextView[@resource-id="com.mzdk.app:id/item_good_title"]')[1].click()

5. Uiautomator 定位

5.1 text屬性的方法

driver.find_element_by_android_uiautomator('new UiSelector().text("Custom View")').click()         #text
driver.find_element_by_android_uiautomator('new UiSelector().textContains("View")').click()        #textContains
driver.find_element_by_android_uiautomator('new UiSelector().textStartsWith("Custom")').click()    #textStartsWith
driver.find_element_by_android_uiautomator('new UiSelector().textMatches("^Custom.*")').click()    #textMatches

5.2 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("Custom View")').click()

5.3 resourceId屬性的方法

#resourceId
driver.find_element_by_android_uiautomator('new UiSelector().resourceId("android:id/text1")')    
#resourceIdMatches
driver.find_element_by_android_uiautomator('new UiSelector().resourceIdMatches(".*id/text1$")')

5.4 元素的其他屬性

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