检查Capybara的复选框

Rya*_*son 4 rspec ruby-on-rails capybara

使用Capybara我不能为我的生活选择我的表格上的复选框.

在我的请求规范中,我尝试过:

check("First Name")
page.check("First Name")
page.check("pickem_option_ids_10")
find(:css, "#pickem_option_ids_11[value='11']").set(true)
find(:css, "#pickem_option_ids_11").set(true)
Run Code Online (Sandbox Code Playgroud)

我的表单片段:

<div class="control-group check_boxes optional">
   <label class="check_boxes optional control-label">Options:</label>
   <div class="controls">
    <label class="checkbox">
     <input class="check_boxes optional" id="pickem_option_ids_10" name="pickem[option_ids][]" type="checkbox" value="10" />First Name
    </label>
    <label class="checkbox">
     <input class="check_boxes optional" id="pickem_option_ids_11" name="pickem[option_ids][]" type="checkbox" value="11" />Middle Name
    </label>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我从这个SO线程中得到了一些find()想法.

我在其他规格中取得了一些成功,我有一个标签为Active的复选框,我只想说check("Active").

Luk*_*yka 10

今天遇到同样的问题,我环顾四周,这似乎有效:

find(:xpath, "//input[@value='10']").set(true)
Run Code Online (Sandbox Code Playgroud)

当然你可以用你想要的任何东西替换'10' - 只需检查你的HTML并使用你的价值.

希望有所帮助.

  • 一个方便的提示是使用Chrome Web Inspector查找您的元素并右键单击并选择"复制XPath" (8认同)