如何用XPATH选择第一个,第二个值?

时间:2016-08-12 12:28:00

标签: xpath

我有一个网站,想要选择一些元素;这是我的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匹配?

1 个答案:

答案 0 :(得分:1)

尝试

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

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

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

选择了具有ID 1.1和2.1的两个span元素。另一方面,(//span)[1]仅返回整个文档中的第一个span元素。