【问题标题】:How to select first, second value with XPATH? [duplicate]如何使用 XPATH 选择第一个、第二个值? [复制]
【发布时间】:2016-08-12 20:34:29
【问题描述】:

我有一个网站,想选择一些元素;这是我的 XPATH 表达式:

//span[contains(.,"Arbeitsräume")]

返回两个匹配项。第一个匹配可能来自这段 html 代码:

 <span class="menu-item-text">                       
     <i class="fa fa-users"></i>
     Arbeitsräume
 </span>

第二场比赛我不知道。但是,我想选择第一个匹配项。因此我尝试了:

//span[contains(.,"Arbeitsräume")][1]

这又给出了两场比赛。括号中的“0”或“2”不返回匹配项。

我虽然 xpath 表达式末尾的方括号可以让您选择第一个,第二个,...匹配,但我可能弄错了。

那么我该如何选择第一个、第二个... XPATH 匹配?

【问题讨论】:

  • 尝试(//span[contains(.,"Arbeitsräume")])[1] 以确保[1] 适用于整个表达式
  • 啊,我明白了。好像可以,谢谢

标签: xpath


【解决方案1】:

试试

(//span[contains(.,"Arbeitsräume")])[1]

表达式//span[1] 选择每个包含span 的元素的第一个span 子元素。例如,给定以下文档

<doc>
    <div>
        <span id="1.1"/>
        <span id="1.2"/>
    </div>
    <div>
        <span id="2.1"/>
        <span id="2.2"/>
    </div>
</doc>

两个span id 为 1.1 和 2.1 的元素被选中。另一方面,(//span)[1] 只返回整个文档中的第一个 span 元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 2022-12-16
    相关资源
    最近更新 更多