【工作记录】xpath语法笔记

XPath概述

XPath(XML Path Language)是一门解析XML文档的语言,可在XML文档中对元素和属性进行遍历,被广泛用于解析HTML文档数据。

在HTML文档中XPath通过元素(即HTML标签)和属性(即HTML标签的属性)对元素进行定位和查找。

XPath语法总结

格式功能描述示例
/后面直接跟子节点,表示绝对路径/html
//全局查找,可以是任意位置,表示相对路径//div//input
parent选取当前节点的父节点
child选取当前节点的所有子节点
preceding选取当前节点的开始标签之前的所有节点
following选取当前节点的结束标签之后的所有节点
ancestor选取当前节点的所有先辈节点 (父、祖父等)
descendant选取当前节点的所有后代节点 (子、孙等)
descendant-or-self选取当前节点的所有后代节点及当前节点本身
.当前节点
上级节点,即父节点
@name取带有name属性的标签//input[@name]
@class=‘’取class为指定值的标签//input[@class=‘xxx’]
text()文本定位,常和contains()函数一起使用//div/a[text()]
last()返回被处理节点的最后一个元素//div[@class=‘top’]/a[last()]
position()匹配返回节点的索引位置//div[@class=‘top’]/a[position()=1]
contains()匹配一个属性值中包含的字符串,用于模糊定位,//div[contains(@id,“top”)]/a[last()]
starts-with()匹配一个属性值开始位置的关键字,用于模糊定位//div[starts-with(@id,“top”)]/a[last()]
运算符 = != < > >= <= and or
*通配符,匹配任意字符//div/* 选取div下的所有标签
|显示存在的内容//input|//title
[]属性包围框,固定语法

简单示例

//span[@class='pl'][3]/following::text()[1]   表示   获取class='pl'的第三个span标签后的第1个文本内容
//a[@class="toindex"][text()]                 表示   获取class='toIndex'的a标签的文本
//div[@id='s-top-left']/child::a[1]           表示   获取id='s-top-left'的div标签下子标签的第1个a标签
//div[@id='s-top-left']/descendant::a[1]      表示   获取id='s-top-left'的div标签后代中的第1个a标签
//div[@id='s_top_wrap']/following::a[1]       表示   获取id='s_top_wrap'的div标签后的第1个a标签
//div[@class='mnav s-top-more-btn']/preceding::a[7]   表示 获取class='mnav s-top-more-btn'的div标签之前的第7个a标签
//a[contains(text(),'h')]/parent::*/a[position()=1]   表示 获取包含h的文本的a标签的父标签下索引值为1的a标签
//a[contains(text(),'h')]/ancestor::*/a[position()<2] 表示 获取包含h的文本的a标签的先辈标签下索引值小于2的a标签
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泽济天下

你的鼓励是我最大的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值