html - 在 capybara 中使用 xpath 选择第一个元素

标签 html xpath ambiguity

我有以下代码行

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

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

我得到了一个模糊匹配,找到了 2 个与 xpath 匹配的元素。这是 HTML ” ShipCase_US_MortalityRatingGroup_Life   投资组合结果   地震   传染病”

最佳答案

您需要将整个 XPath 括在括号中,并在其后面添加 [1]

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

关于html - 在 capybara 中使用 xpath 选择第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27933715/

相关文章:

html - 在div中填充图像

javascript - 如果 child 有类(class),则选择 child 的 parent

html - 使列表中的最终 <li> 跨度剩余容器宽度?

java - XPath/XQuery : How to retrieve all the array instead the first element when using

java - 为什么我在这里得到 "org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR"?

c++ - 不明确的模板实例化

javascript - React根组件不会加载整个index.html

xpath - 在Selenium WebDriver中声明用于检查URL的命令

vb.net - 为什么 vb.net 拒绝分配给嵌套协变接口(interface)为 "ambiguous"

php - PHP 中 $this->$variable 语法不明确