在capybara中使用xpath拾取第一个元素

时间:2015-01-13 23:57:53

标签: html xpath ambiguity

我有以下代码行

link = find(:xpath, "//div[@id='tree']//a[contains(.,'#{peril}')]")

以上步骤产生两个元素。我如何选择第一个。

我得到一个不明确的匹配,找到了匹配xpath的2个元素。这是HTML “ ShipCase_US_MortalityRatingGroup_Life投资组合结果地震传染病“

2 个答案:

答案 0 :(得分:3)

您需要在括号中包围整个XPath并在其后添加[1]

(//div[@id='tree']//a[contains(.,'#{peril}')])[1]

答案 1 :(得分:1)

find(".active", match: :first).click

此解决方案使用Capybara(非常重要)的等待功能