XPath路径写法的学习要点
XPath是XML路径语言,经常用作程序中定位XML或HTML文档中某部分标签位置,例如应用于爬虫程序。更多的基础老赵就不赘述了,网上一搜一大把,这里主要记录两点自己的实战心得,以作备忘和分享。
演示代码:
//div[contains(@class,"listing-chapters_wrap")]//li[contains(@class,"wp-manga-chapter")]
一、选取某节点下所有层级(的某元素)
关于/和//的概念,在基本概念中肯定说,但是真到上手用的时候,/很好理解,可以读作‘xx的下一级’,可是,要找‘xx的所有子级后代’时候,搞了半天才发现写上//就是。
二、两个常用的函数text()和contains()
-
用text()函数来文本定位位置
- text()='xxx' 精确定位,引号中的内容需与HTML文档中的文本完全一样
- contains(text(),'xxx') 模糊定位,HTML文档中的文本,包含引号中的内容即可
2.用contains()函数指定包含某个字符串过滤节点
例如,如果是这样
<div class="demo"></div>
那么我知道可以写xpath //div[@class="demo"],但是如果我的html是
<div class="test demo"></div>
<div class="demo test"></div>