XPath获取在子元素中带有文本的元素

时间:2019-03-07 15:45:16

标签: html xml xpath

我想将<button>元素与某个文本匹配,有时将其封闭在按钮内的另一个元素中,例如:

<div @class="buttonset"> 
  <button>Close</button>
</div>

<div @class="buttonset"> 
  <button>
    <span>Close</span>
  </button>
</div>

xpath查询//div[@class='modal-buttonset']/button[text()='Cancel']仅给出最高级别的结果。

如何在所有级别上匹配文本?

2 个答案:

答案 0 :(得分:1)

尝试以下操作:

//div/button[descendant::text()="Close"]

答案 1 :(得分:1)

此XPath,

//button[normalize-space() = 'Close']

将根据请求选择所有空间归一化的字符串值为button的{​​{1}}个元素,而不管是否有其他包装元素。