【问题标题】:How to Ignore label tag in Xpath?如何忽略 Xpath 中的标签标签?
【发布时间】:2019-02-09 14:05:20
【问题描述】:

我只想要 HTML DOM 下面的 test

这是我的 xpath (//label[normalize-space(text()='test')])[1]

通过这个我得到*和测试,而我的要求是只得到测试。请在这方面帮助我。

下面是我的 HTML:

   <html>
      <script>
      </script>
      <body>
          <label>
             <label>*</label>
               test&nbsp
         </label>
      </body>
    </html>

【问题讨论】:

    标签: html xpath


    【解决方案1】:

    你可以使用这个表达式

    //label[normalize-space(text()='test')]/text()[2]
    

    它检索外部&lt;label&gt; 的第二个text() 节点。


    对于 XPath-2.0 或更高版本,您可以使用以下表达式

    //label[normalize-space(string-join(text()))='test']/text()/normalize-space(.)
    

    它连接label 的所有text() 节点,然后输出结果的normalize-space(...)'ed 字符串。我不知道任何 XPath-1.0 解决方案。

    【讨论】:

    • @zx485...有什么办法可以避免像 [2] 这样的索引吗?
    • @Sainathpawar:是的。但仅适用于 XPath-2.0 或更高版本。我编辑了我的答案。
    猜你喜欢
    • 1970-01-01
    • 2012-04-08
    • 2014-10-07
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 2018-12-30
    相关资源
    最近更新 更多