xpath获取a标签下文本

1、标签中只包含文字

<div>
  <ul id="side-menu">
    <li class="active">
      <a href="#">
      卷期号:
      </a>
    </li>
  </ul>
</div>

取包含 '卷期号' 三个字的节点 //ul[@id='side-menu']/li/a[contains(text(),"卷期号")]

取其内容 //ul[@id='side-menu']/li/a[contains(text(), '卷期号')]/text()

2、当文字没有被一个明确的标签包裹

<li class="active">
  <a href="#">
    <i>DOI</i>
    卷期号:
    <span>xxxx</span>
  </a>
</li>

再用contains的xpath表达式就到不到了, 不过可以借助string(),将a标签里边的东西全部转换成字符串, 再用contains判断:

//ul[@id='side-menu']/li/a[contains(string(), '卷期号')]/text()

原文地址:https://www.cnblogs.com/JeromeLong/p/13252602.html