Xpath定位及实践练习——自动化测试学习

1.XPath-定位元素

注意:

如果元素的ID不唯一,或者是动态的
或者name以及linktext属性值也不唯一
我们就需要考虑用xpath来查找元素了,然后再对元素执行操作

语法:

//tag[@attibute='value']

2.相对路径

Xpath的相对路径用单斜线 "//":
定位慕课网购物车这个元素
//li[@id="shop-cart"]/a/span[2]

3."/" 和 "//" 的区别

"/":元素是上一级节点的子节点中的一个,不能跳级(紧挨着上一个节点层层递进)
"//":下级任何子节点或者任何嵌套子节点中的一个,可以跳级(DOM里面,下下下子节点都可以匹配到)
路径里面不要用"*",要写明标签名

4.构建一个高效有效的Xpath

//li[@id="shop-cart"]/a/span[2]
等于
//li[@id="shop-cart"]//span[2]

5.用元素的Text文本属性构建有效的Xpath

示例:

定位慕课网‘忘记密码’链接
//a[text()='忘记密码 ']     text值里面文本有空格的也要补上

//form/div[4]/a[text()='忘记密码 '] 
//form//a[text()='忘记密码 '] 

6.用Contains关键字查找元素(包含即可)

语法:

//tag[contains(attribute,'value')]  

示例:

//a[contains(text(),'忘记密码')] 
//input[contains(@class,'ipt') and contains(@placeholder,'手机号')]

7.用starts-with关键字查找元素(以什么开头的)

语法:

//tag[starts-with(attribute,'value')]

示例:

//input[starts-with(@class,'xa-emailOrPhone')]
//input[starts-with(@placeholder,'请输入登录')]

8.如何找父节点

语法:

xpath-to-some-element//parent::

示例:

//a[text()='免费课程']//parent::li

9.如何找前面的平级节点

语法:

xpath-to-some-element//preceding-sibling::

示例:

//a[text()='免费课程']//parent::li//preceding-sibling::li/a[1]
//a[text()='免费课程']//parent::li//preceding-sibling::li//following-sibling::li[1]

10.如何找后面的平级节点

语法:

xpath-to-some-element//following-sibling::

示例:

//a[text()='免费课程']//parent::li//following-sibling::li[1]


你可能感兴趣的:(Xpath定位及实践练习——自动化测试学习)