方法 | 對應屬性 | 備註 |
---|---|---|
driver.find_element_by_id(‘aaa’) | resource-id | — |
driver.find_element_by_accessibility_id(‘aaa’) | content-desc | — |
driver.find_element_by_xpath(‘aaa’) | xpath | — |
driver.find_element_by_name(‘aaa’) | text | appium1.5開始,不支持name定位。 |
1)driver.find_element_by_class_name(‘aaa’) 2)driver.find_elements_by_class_name(‘aaa’)[n]— n爲列表下標。 |
class | class屬性一般不唯一,元素不唯一時,用1)定位會報錯,此時可以用2)。 |
driver.find_element_by_link_text(‘aaa’) | link_text | — |
driver.find_element_by_partial_link_text(‘aaa’) | partial_link_text | — |
driver.find_element_by_css_selector(‘aaa’) | css_selector | — |
driver.find_element_by_tag_name(‘aaa’) | tag_name | — |
driver.find_element_by_ios_uiautomation(‘aaa’) | ios_uiautomation | — |
driver.find_element_by_ios_predicate(‘aaa’) | ios_predicate | — |
driver.find_element_by_ios_class_chain(‘aaa’) | ios_class_chain | — |
driver.tap(self, positions, duration=None) | bounds | positions: list類型,裏面對象是元組,最多五個。如:[(100, 20), (100, 60)]。–duration: 持續時間,單位毫秒,建議設置500-1000。 eg: driver.tap([(100, 20), (100, 60), (100, 100)], 500) 。當其他方法都定位不到時,再使用該方法。而且座標不能寫死,因爲手機有不同的分辨率,需要計算相對比例。 |
driver.find_element_by_android_uiautomator(‘aaa’) | 元素定位 android_uiautomator | 詳情請看下錶 |
元素定位 | 方法 | 備註 |
---|---|---|
單元素-text定位 | 精確匹配 driver.find_element_by_android_uiautomator(‘new UiSelector().text(‘aaa’)’) 模糊匹配 driver.find_element_by_android_uiautomator(‘new UiSelector().textContains(‘aaa’)’) 開頭匹配 driver.find_element_by_android_uiautomator(‘new UiSelector().textStartWith(‘aaa’)’) 正則匹配 driver.find_element_by_android_uiautomator(‘new UiSelector().textMatches(‘aaa’)’) |
— |
單元素-resource-id定位 | driver.find_element_by_android_uiautomator(‘new UiSelector().resourceId(‘aaa’)’) | — |
單元素-class定位 | driver.find_elements_by_android_uiautomator(‘new UiSelector().className(‘aaa’)’)[n] | — |
單元素-content-desc定位 | driver.find_element_by_android_uiautomator(‘new UiSelector().description(‘aaa’)’) | — |
多元素- 組合定位 | driver.find_element_by_android_uiautomator(‘resoureceId(‘aaa’).text(‘bbb’)’) | 一般使用id,class,text兩兩組合;其次使用description 。 |
多元素- 父子定位 | find_element_by_android_uiautomator(‘resourceId(‘aaa’).childSelector(text(‘bbb’))’) | 通過父元素找到子元素。 |
多元素- 兄弟定位 | fromParentdriver.find_element_by_android_uiautomator(‘resourceId(‘aaa’).fromParent(text(‘bbb’))’) | 通過相鄰元素定位。 |