我想使用capybara dsl查找复选框的第一个实例。有谁知道怎么做?
我想也许是这样,但它不起作用:
find('input:first', :type => 'checkbox')
答案 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)