xPath表达式未在HTML中查找文本

时间:2017-04-25 06:22:52

标签: xpath

我有以下XML:

<div> 
  <ul> 
    <li> 
      <a>
          Logout 1
     </a> 
    </li>  
    <li> 
      <a>
         Logout 2
     </a> 
    </li>  
    <li> 
      <a>
         Logout 3
     </a> 
    </li>  
    <li> 
       <a>
         Logout 4
     </a> 
    </li> 
  </ul> 
</div>

我想检查文本a的{​​{1}}标记是否存在。我用以下表达式执行此操作:

Logout 4

哪个似乎不起作用,任何人都可以告诉我我做错了什么?

我在这个网站上测试我的xPath btw:http://www.xpathtester.com/xpath

1 个答案:

答案 0 :(得分:2)

您的XPath未返回任何结果,因为a元素的内部文本具有前导和尾随空格,您可以使用normalize-space()清除它们:

/div/ul/li/a[normalize-space() = 'Logout 4']

<强> demo

或者,如果您真的想在a中仅评估第一个子文本节点

/div/ul/li/a[normalize-space(text()) = 'Logout 4']