Cucumber 如何在Capybara中找到第一个复选框?

Cucumber 如何在Capybara中找到第一个复选框?,cucumber,capybara,Cucumber,Capybara,我想找到使用capybara dsl的复选框的第一个实例。有人知道怎么做吗 我以为可能是这样,但没用: find('input:first', :type => 'checkbox') 假设Capybara.default_选择器设置为CSS,则: find("input[type='checkbox']") 如果您使用的是XPath,则会有所不同 更新(2013年6月):正如@tmg所指出的,水豚2号的行为已经改变。只需指出找到第一个复选框的正确方法 first("input[typ

我想找到使用capybara dsl的复选框的第一个实例。有人知道怎么做吗

我以为可能是这样,但没用:

find('input:first', :type => 'checkbox')

假设Capybara.default_选择器设置为CSS,则:

find("input[type='checkbox']")
如果您使用的是XPath,则会有所不同

更新(2013年6月):正如@tmg所指出的,水豚2号的行为已经改变。

只需指出找到第一个复选框的正确方法

first("input[type='checkbox']")
如果要查找第n个复选框(例如第25个):

但通常最好在中使用,以缩小搜索范围

within 'div.div_class' do
  find("input[type='checkbox']")
end
找到第一个复选框的最简单方法可以是:

find(“输入[type='checkbox']”,匹配::first)

这会找到第一个复选框吗?是。或者:all(“input[type='checkbox']”)。firstIn Capybara 2 find将在多个元素匹配时引发Capybara::暧昧。改为使用:first(“输入[type='checkbox']”)或查找一个更独特的定位器以与find一起使用。见:
within 'div.div_class' do
  find("input[type='checkbox']")
end