一、xpath是什么
XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。
写UI自动化脚本时,用来定位html页面的节点也同样适用。
二、XPath路径
1.样例
xml代码如下(示例):
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
2.路径
代码如下(示例):
1、**child** 选取当前节点的所有子元素
2、**parent** 选取当前节点的父节点
3、**descendant** 选取当前节点的所有后代元素(子、孙等)
4、**ancestor** 选取当前节点的所有先辈(父、祖父等)
5、**descendant-or-self** 选取当前节点的所有后代元素(子、孙等)以及当前节点本身
6、**ancestor-or-self** 选取当前节点的所有先辈(父、祖父等)以及当前节点本身
7、**preceding-sibling** 选取当前节点之前的所有同级节点
8、**following-sibling** 选取当前节点之后的所有同级节点
9、**preceding** 选取文档中当前节点的开始标签之前的所有节点
10、**following** 选取文档中当前节点的结束标签之后的所有节点
11、**self** 选取当前节点
12、**attribute** 选取当前节点的所有属性
13、**namespace** 选取当前节点的所有命名空间节点
**following-sibling** 选取当前节点之后的所有同级节点
跟**preceding-sibling**一样都是选取同级同父的节点
只不过following是取对应节点之后的节点,preceding-sibling取的是该节点之前的节点。
/AAA/BBB/following-sibling::* 取/AAA/BBB节点的之后的所有同级节点
总体语法为:
//input/parent::div/parent::span/following-sibling::div