xpath用法
四、取多个路径:使用“ | 运算符可以选取多个路径
|
表达式 |
结果 |
|
xpath(‘//div|//table’) |
选取所有的div和table节点 |
修饰[]语法:
- 位置 div[2]、div[last()-1]、div[position()>1]
- 自身属性,加@。 div[@id=’content’] 、div[@lang=’content’]、
- 子节点值 div[book>25] ,子节点book中值等于25的div节点,
一般数字时候使用多
- 功能函数:能够更好的进行模糊搜索
|
函数 |
用法 |
解释 |
|
starts-with |
xpath(‘//div[starts-with(@id,”ma”)]‘) |
选取id值以ma开头的div节点 |
|
contains |
xpath(‘//div[contains(@id,”ma”)]‘) |
选取id值包含ma的div节点 |
|
and |
xpath(‘//div[contains(@id,”ma”) and contains(@id,”in”)]‘) |
选取id值包含ma和in的div节点 |
|
text() |
xpath(‘//div[contains(text(),”ma”)]‘) |
选取节点文本包含ma的div节点 |
五、Xpath轴:轴可以定义相对于当前节点的节点集
|
轴名称 |
表达式 |
描述 |
|
ancestor |
xpath(‘./ancestor::*’) |
选取当前节点的所有先辈节点(父、祖父) |
|
ancestor-or-self |
xpath(‘./ancestor-or-self::*’) |
选取当前节点的所有先辈节点以及节点本身 |
|
attribute |
xpath(‘./attribute::*’) |
选取当前节点的所有属性 |
|
child |
xpath(‘./child::*’) |
返回当前节点的所有子节点 |
|
descendant |
xpath(‘./descendant::*’) |
返回当前节点的所有后代节点(子节点、孙节点) |
|
following |
xpath(‘./following::*’) |
选取文档中当前节点结束标签后的所有节点 |
|
following-sibing |
xpath(‘./following-sibing::*’) |
选取当前节点之后的兄弟节点 |
|
parent |
xpath(‘./parent::*’) |
选取当前节点的父节点 |
|
preceding |
xpath(‘./preceding::*’) |
选取文档中当前节点开始标签前的所有节点 |
|
preceding-sibling |
xpath(‘./preceding-sibling::*’) |
选取当前节点之前的兄弟节点 |
|
self |
xpath(‘./self::*’) |
选取当前节点 |

浙公网安备 33010602011771号