Appium+Python 自動化-appium常用元素定位方法
阿新 • • 發佈:2018-12-14
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()