Capybara暧昧

时间:2017-07-20 08:15:56

标签: rspec capybara ambiguous

嘿伙计们,我在这里有这段漂亮的代码,我想要做的就是在规格内点击提交按钮,价值为#34;个人数据改变了erstellen"。唯一的问题是,我有5个其他提交按钮具有相同的值,我试图用一种方法覆盖所有这些。有没有人建议如何让它运行,不明确的错误正在扼杀我。请参阅下面的代码。

      <legend>Handynummer</legend>


        <div class="form-group">
          <label for="banking_personal_data_change_value_adr_mobile">Adr mobile</label>
          <input class="form-control" value="49160002774531" name="banking_personal_data_change_value[adr_mobile]" id="banking_personal_data_change_value_adr_mobile" type="text">
        </div>

        <div class="form-group">
          <input name="banking_personal_data_change[send_email]" value="0" type="hidden"><input value="1" checked="checked" name="banking_personal_data_change[send_email]" id="banking_personal_data_change_send_email" type="checkbox">
          <label for="banking_personal_data_change_send_email">E-Mail an den Kunden</label>
        </div>

      <div class="form-actions">
        <input name="commit" value="Personal data change erstellen" class="btn btn-primary" type="submit">
      </div>

2 个答案:

答案 0 :(得分:0)

它很脆弱但你可以使用XPath来找到第n个元素

(//input[@value="Personal data change erstellen"])[5]

或类似的东西。

答案 1 :(得分:0)

您没有为我们显示足够的HTML以查看其他按钮之一并确定确切的范围是什么,但是看到您使用的是legend标记,我认为您至少有{{每个按钮周围{1}}。有了这个,您应该可以使用类似

的范围来扩展到fieldset(我假设它具有独特的图例)
fieldset

或一行

within_fieldset('Handynummer') do
  click_button('Personal data change erstellen')
end
相关问题