android 获取元素的下标_Appium中定位方式by_android_uiautomator

520f8de37dd25a16b859f364869c42a2.png

在appium定位方式中可以通过by_android_uiautomator方法定位元素。
基本语法:driver.find_element_by_android_uiautomator("xx")
1.通过className来定位语法:
driver.find_element_by_android_uiautomator(
new UiSelector().className("class名称"))
页面上的class属性一般不唯一,多半用在复数定位时候。此时定位相应下标
driver.find_elements_by_android_uiautomator("new UiSelector().className(‘android.widget.ImageView’)")[2].click()
2.通过text文本定位语法 :
new UiSelector().text("text文本")
driver.find_element_by_android_uiautomator("new UiSelector().text(‘用户名’)").click()
2.1.如果文本比较长,可以用textContains模糊匹配,如果存在多个相同的控件,只会匹配到第一个。
new UiSelector().textContains("包含text文本")
driver.find_element_by_android_uiautomator("new UiSelector().textContains(‘用’)").click()
同样可以用textStartsWith是以某个文本开头来匹配
new UiSelector().textStartsWith("以text文本开头")
3.通过resourceId的方法
new UiSelector().resourceId("id")
4.description 也是用contenet-des属性定位(该属性可能用的地方并不多,但是这也是一种定位的方式)
new UiSelector().description("contenet-des属性")
5.组合定位
1).id与text属性组合
#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
class_text = 'className("android.widget.TextView").text("互联网")' driver.find_element_by_android_uiautomator(class_text).click()
6.关系定位
1).父子定位childSelector
有时候不能直接定位某个元素,但是它的父元素很好定位,这时候就先定位父元素,通过父元素找子节点
#父子关系
childSelector son = 'resourceId("com.baidu.yuedu:id/rl_tabs").childSelector(text("互联网"))' driver.find_element_by_android_uiautomator(son).click()
2).兄弟定位fromParent
有时候父元素不好定位,但是跟他相邻的兄弟元素很好定位,这时候就可以通过兄弟元素,找到同一父级元素下的子元素(fromParent方式定位如果兄弟元素是第一个元素,则是它自己;如果是其他元素,则是定位的它这个元素的上一个子元素!!)
#兄弟关系
fromParent brother = 'resourceId("com.baidu.yuedu:id/lefttitle").fromParent(text("互联网"))' driver.find_element_by_android_uiautomator(brother).click()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值