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