【Xpath】 xpath语法总结

节点选取

表达式描述用法说明
nodename选取此节点的所有子节点div选取div下的所有标签
//从全局节点中选择节点,任意位置均可//div选取整个HTML页面的所有div标签
/选取某个节点下的节点//head/title选取所有head标签下的titile标签
@选取带某个属性的节点//div[@id]选择带有id属性的div标签
.当前节点下./span选择当前节点下的span标签
谓语
表达式用法说明
//head/meta[k]
选择所有head下的第k个meta标签
//head/meta[last()]选择所有head下的最后一个meta标签
//head/meta[position()<3]选择所有head下的前两个meta标签
//div[@id]选择带有id属性的div标签
//div[@id='u1']选择所有拥有id=u1的div标签
通配符
通配符描述示例结果
*匹配任意节点//div[@id='u1']/*选择所有id=’u1‘的div标签下的所有节点
@匹配节点中的任意属性//meta[@*]选择所有拥有任意属性的meta标签
选取多个路径

多个xpath路径使用管道符|连接,效果等价于”或“
例如 "//div | //span" 选取所有的div和span标签

方法
方法名描述示例结果
contains()判断一个字符串是否包含另一个字符串//div[contains(@id,"in")]选择所有id包含”in”的div节点
string(.)提取当前元素及其所有子元素的文本内容//div[string(.)="hellow"]选择所有文本内容为
”hello“的div节点
text()提取当前元素的文本内容//a[text()="haha"]选择所有文本为“haha”的a节点
last()返回当前节点集中最后一个节点的位置//li[last()]选择最后一个li节点
position()返回当前节点在同级节点中的位置//li[position()<3]选择前两个li节点
name()返回当前节点的名称//div[name()="content"]选择 名称为”content"的div节点
count()返回当前节点集中的节点数量//div[count(li)=3]选择包含三个li子节点的div节点
starts-with()判断一个字符串是否以另一个字符串开头//a[starts-with(@href,"http")]选择href属性以“http”开头的a节点
ends-with()判断一个字符串是否以另一个字符串结尾//a[ends-with(@href,"html")]选择href属性以“html”结尾的a节点
not()对当前表达式取反//div[not(@class)]选择没有class属性的节点
posted @ 2023-03-21 17:59  'Radio'  阅读(96)  评论(0编辑  收藏  举报  来源