appium+python自动化58-xpath定位

基本属性定位

以淘宝app为例,定位左上角扫一扫按钮

1.可以通过text文本定位到

//*[@text=’text文本属性’]

2.如果元素id是唯一的,xpath也可以定位id属性

//*[@resource-id=’id属性’]

3.class属性唯一的话,可以通过class属性定位到,定位class属性有两种方法

第一种: //class属性

第二种: //*[@class=’class属性’]

4.定位content-des属性

//*[@content-desc=’desc的文本’]

contains模糊定位

1.contains是模糊匹配的定位方法,对于一个元素的id或者text不是固定的,但有一部分是固定的,这种就可以模糊匹配。如”上海-悠悠”或“上海悠悠”,那就匹配“悠悠”就行了

contains定位在定位一组元素的时候,效率尤其突出

//[contains(@text, ‘悠悠’)]

//[contains(@content-desc, ‘帮助’)]

2.contains也能模糊匹配id和class属性

//[contains(@resource-id, ‘id属性’)]

//[contains(@clsss, ‘class属性’)]

组合定位

1.如果一个元素有2个属性,通过xpath也可以同时匹配2个属性,text, resource-id,class ,index,content-desc这些属性都能任意组合定位

层级定位-父定位子

1.如果一个元素,它除了class属性(class属性肯定会有),其它属性啥都没有,这种情况用上面方法就不适用了,这个时候可以找他父元素,通过父亲定位儿子

2.如果一个父元素下,有多个相同class的儿子时候,可以通过xpath的索引去取对应第几个,xpath是从1开始数的

儿子定位父亲

兄弟定位

通过子元素,先找到父元素,再找父元素下的子元素,可以进行兄弟元素定位

爷爷定位孙子

通过层级关系,一层一层的往下找,可以通过爷爷元素,定位到孙子元素

python自动化全栈课程7月开学,现在开始可以报名了

本期课程截止时间:2018-06-30

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180613G19UCQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券