一、包含文本
1、标签中只包含文字
<div>
<ul id="side-menu">
<li class="active">
<a href="#">
卷期号:
</a>
</li>
</ul>
</div>
表达式://ul[@id='side-menu']/li/a[contains(text(),"卷期号")]
上面表达式就是查找对应的a标签中文本包含"卷期号"三个字的相关内容
2、文字没有被一个明确的标签包裹
<div>
<ul id="side-menu">
<li class="active">
<a href="#">
<i>DOI</i>
卷期号:
<span>xxxx</span>
</a>
</li>
</ul>
</div>
再用上边的xpath表达式就到不到了, 不过可以借助string(), 将a标签里边的东西全部转换成字符串, 再用contains判断:
//ul[@id='side-menu']/li/a[contains(string(), '卷期号')]/text()
二、class与id中包含提取
表达式1:xpath('//div[contains(@class,"a")]')
但凡class中有a字符,都会被提取
表达式2:xpath('//div[contains(@id,"a")]')
但凡id中有a字符,都会被提取。
评论