我正在使用新的HTML5输入类型Range实现一个基本滑块 没有涉及javascript或CSS。
的示例它曾经是一个文本框,所以在Capybara我可以说
fill_in "rating_scale", with: "57"
现在我需要一种方法告诉它填充范围或点击并移动范围的拇指。
有没有人成功完成这项工作?
答案 0 :(得分:3)
这就是我最终做的......
find(:xpath, "//input[@id='rating_scale']").set 57
答案 1 :(得分:1)
我假设滑块使用Javascript,因此您需要Capybara的驱动程序与Javascript交互,例如Poltergeist。
答案 2 :(得分:0)
这是一个根据它的名字改变输入范围的水豚帮手,
假设您使用Poltergeist:
def range_select(name, value)
selector = %-input[type=range][name=\\"#{name}\\"]-
script = %-$("#{selector}").val(#{value})-
page.execute_script(script)
end
答案 3 :(得分:0)
如果你使用的是javascript rangelider,有一个monkey-patched drag_by implementation可以很好地解决这个问题(虽然它不会设置一个特定的值,但只是拖动特定的数量)。