uiautomator元素定位

1.通过text文本定位

text("text文本") loc = 'text("发现")'

driver.find_element_by_android_uiautomator(loc).click()

2.文本比较长的时候,可以用textContains模糊匹配,只要文本包含匹配内容就可以了。

textContains("text文本")

loc = 'textContains("发")'

driver.find_element_by_android_uiautomator(loc).click()

3.resourceId定位

loc_id = 'resourceId("com.baidu.yuedu:id/webbooktitle")’

driver.find_element_by_android_uiautomator(loc_id).click()

4.class Name定位

页面上的class属性一般不唯一,多半用在复数定位时候。比如通过class属性定位‘排行‘这个按钮下标就是2

loc_class = 'className("android.widget.Button")'

driver.find_element_by_android_uiautomator(loc_class).click()

5.description定位

desc = 'description("contenet-des属性")'

driver.find_element_by_android_uiautomator(desc).click

组合定位:

1.id与text属性组合

id_text = 'resourceId("com.baidu.yuedu:id/webbooktitle").text("发现")'

driver.find_element_by_android_uiautomator(id_text).click()

2.class与text属性组合

class_text = 'className("android.widget.TextView").text("发现")'

driver.find_element_by_android_uiautomator(class_text).click()

父子定位childSelector

1.有时候不能直接定位某个元素,但是它的父元素很好定位,这时候就先定位父元素,通过父元素找儿子。

举个例子:你很喜欢一个女生,但是没她的直接联系方式。你有她爸的联系方式,于是你就可以通过先找她爸,再找到她。

son = 'resourceId("com.baidu.yuedu:id/rl_tabs").childSelector(text("发现"))'

driver.find_element_by_android_uiautomator(son).click()

兄弟定位fromParent

1.有时候父元素不好定位,但是跟他相邻的兄弟元素很好定位,这时候就可以通过兄弟元素,找到同一父级元素下的子元素。

举个例子:你喜欢一个女生,但是没她的直接联系方式。你跟她哥哥关系是铁哥们,于是你就可以通过她哥哥来找到她。

brother = 'resourceId("com.baidu.yuedu:id/lefttitle").fromParent(text("发现"))'

driver.find_element_by_android_uiautomator(brother).click()

猜你喜欢

转载自www.cnblogs.com/mayijinfu/p/11577286.html