基本属性定位
以淘宝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
领取专属 10元无门槛券
私享最新 技术干货