当单选按钮具有相同的id但使用capybara具有不同的值时,如何选择单选按钮

Kal*_*yan 2 capybara

下面是两个单选按钮的html代码,它们只有"value"属性不同

<input id="AmountOption" name="AmountOption" type="radio" value="1">
<input id="AmountOption" name="AmountOption" type="radio" value="2">
Run Code Online (Sandbox Code Playgroud)

我想要做的是选择"值= 2"的单选按钮

我尝试使用"选择("AmountOption")"选择第一个单选按钮,但我想选择第二个单选按钮

我如何通过capybara提供的"选择("")方法实现这一目标.

还欢迎任何其他替代方案.

提前致谢

And*_*lov 5

看看实施情况choose:

def choose(locator, options={})
  find(:radio_button, locator, options).set(true)
end
Run Code Online (Sandbox Code Playgroud)

所以很明显你应该set在某个元素上调用方法.

:radiobutton选择仅支持id,name并且label使你不能使用它,应该使用一些其他的选择类型:

find('#AmountOption[value=2]').set(true) # selector type is :css by default
Run Code Online (Sandbox Code Playgroud)

  • @Kalyan相当于`page.driver.browser.find_element("// input [@ value ='2']").click`是`find(:xpath,"// input [@ value ='2'] ").click` (2认同)