Xpath定位9大技巧

Xpath定位9大技巧

1 标签类型选择器

根据其标签类型来选择元素,//A是选择A类型标签所包含的所有元素,比如://div是选择全部

元素。

2 标签属性选择器

选择带有属性的元素,//[@属性=”属性值”]选择相关属性的元素,比如://[class=”classvalue”]选择的是所有包含class属性值为classvalue的元素。

3 子选择器

选择某元素的直系子元素,//A/B是选择所有A元素的所有直系子元素B,//A/*是选择A元素下的所有任意元素,比如://div/input是选择所有

下的所有子元素

4 子选择器结合属性选择器

//*[@属性=”属性值”]/A

5 类选择器

根据元素包含(contains)的属性来选择元素,//[contains(@属性, “属性值”)]选择包含指定属性值的所有元素,比如://[contains(@class, “classvalue”)]选择包含class属性值为classvalue的所有元素。

根据元素不包含(not)的属性来选择元素,//[not(@属性, “属性值”)]选择不包含指定属性值的所有元素,比如://[not(@class, “classvalue”)]选择不包含class属性值为classvalue的所有元素。
Xpath定位9大技巧

6 索引选择器

在指定索引处选择相应的元素:(//A)[索引号],比如:(//div)[3]选择第3个

选择所有元素中的最后一个A元素:(//A)[last()],比如:(//div)[last()]选择最后一个

选择所有元素中的倒数第n个A元素:(//A)[last()-n],比如:(//div)[last()-n]选择最后一个

选择同层级下所有元素中的最后一个元素://A/[last()],比如://div/[last()]选择

元素中的最后一个。

7 父选择器

选择当前层级元素的父级元素:…,比如://input[@class=”classvalue”]/…选择该属性的input元素的上一层级元素。

选择当前层级元素的父级元素,比如://div[input[@class=”classvalue”]]选择该属性的input元素的上一层级元素。

8 逻辑或连接符

通过使用“|”逻辑“或”来选择满足条件的任意路径表达式,比如//A | // B | //*[@属性=”属性值”]是选择元素、元素以及满足指定属性的元素。

9 轴定位

选择当前元素后面(following-sibling)所指定的同层级元素,比如://A/following-sibling::B选择的是A元素之后同层级的B元素

选择当前元素前面(preceding-sibling)所指定的同层级元素,比如://B/preceding-sibling::A选择的是B元素之前同层级的A元素