<td>
 <a>SAMPLE</a>
 <div>
  <small>Phase:
         Planning >>
  <a>Performance</a>
  </small>
 </div>
</td>

我试图用上面的“phase:planning>>performance”文本来定位元素,但没有成功。
尝试使用:
//*[text()[contains(normalize-space(.),'Phase: Planning >> Performance')]]

最佳答案

目前存在的其他三个答案都不能完全满足你的要求。
下面是一些xpath表达式:
您可以选择其规范化字符串的small元素
值通过这个xpathPhase: Planning >> Performance

//small[normalize-space() = 'Phase: Planning >> Performance']

您可以选择所有元素,无论其名称
规范化字符串值等于目标字符串:
//*[normalize-space() = 'Phase: Planning >> Performance']

但这不仅会选择small,而且还会选择div,因为
字符串值等于Phase: Planning >> Performance
您只能选择层次结构中的最低元素,而不管
其规范化字符串值等于目标字符串的名称:
//*[         normalize-space() = 'Phase: Planning >> Performance' and
    not(.//*[normalize-space() = 'Phase: Planning >> Performance'])]

必须认识到XPath text() = is different than XPath . =

09-11 15:56