appium+python-元素定位總結

方法 對應屬性 備註
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’))’) 通過相鄰元素定位。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章