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

时间:2011-05-18 14:26:09

标签: cucumber capybara

我想使用capybara dsl查找复选框的第一个实例。有谁知道怎么做?

我想也许是这样,但它不起作用:

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

3 个答案:

答案 0 :(得分:18)

假设Capybara.default_selector设置为CSS,那么:

find("input[type='checkbox']")

如果您使用的是XPath,则会有所不同。

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

答案 1 :(得分:11)

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

first("input[type='checkbox']")

如果您想找到第n个复选框(例如第25个):

find(:xpath, "(//input[@type='checkbox'])[25]")

但通常最好使用 来缩小搜索范围

within 'div.div_class' do
  find("input[type='checkbox']")
end

答案 2 :(得分:0)

找到第一个复选框的最少flaky方法可能是:

find("input[type='checkbox']", match: :first)