xpath元素定位

118 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,点击查看活动详情

xpath是XML中一个查找信息的重要语言,它一般多用于自动化测试和python爬虫来定位元素,对于我们自动化测试人员来说,掌握xpath元素定位的一些基本操作是非常有必要的,所以接下俩这节就lai 具体深入的感受一下xpath的运用。
/ -->绝对定位,从根节点开始选取
// -->相对定位
. -->当前节点
.. -->当前节点的父节点
@ -->选取节点属性
元素名称 -->选取此元素的所有子节点
//元素 -->选取所有此元素名下的子元素
//@style -->选取名为style的所有属性
/div/p[1] -->选取div下的第一个p元素
/div/p[last()] -->选取div下的最后一个p元素

/div/p[last()-1] -->选取div下的倒数第二个p元素
/div/p[position()<3 ] -->选取div下最前面两个p元素
//div[@style] -->选取所有有stylt属性的div元素
//div[@style='dispaly'] -->选取style属性为'display'的所有div元素

通配符:
//* -->匹配任何元素节点
@ -->匹配任何属性节点

常用定位方式:
1.唯一属性,精准定位:
//[@id='']
2.对于没有属性的标签,相对定位:
//div[@id='']/p[1]
3.多个属性结合定位:
//
[@style='' and @class=''] 4.查找style属性包含'display'的元素:
//[contains(@style,'display')]
5.查找文本中包含'摩擦力'的元素:
//
[contains(text(),'摩擦力')]
6.查找class属性中开始位置包含‘acce-slider-wrapper’关键字的元素:
//*[starts-with(@class,'acce-slider-wrapper')]
7.使用多个相对路径定位元素用//分开:
//div[@class=‘aa-slider-wrapper’]//input[@id=‘username’]

同时我们如果不确定我们的xpath是否写的准确,这时可以用浏览器中的开发者模式来检验是否定位到了我们想要定位的元素,具体实现如下:

1.使用Chrome浏览器的开发者工具,可以快速获取XPath表达式:

点击选择光标,选择页面上的元素位置,在控制台右键选择Copy XPath,表达式就复制到粘贴板中了。

2.验证表达式:

按键“Ctrl+F”,在控制台中输入需要检查的XPath路径,对应的元素会有的颜色标识