我有一个HTML5 canvas元素,根据点击的位置触发不同的操作。
有没有办法可以使用Capybara
在我的测试规范中模拟这种行为答案 0 :(得分:0)
看着这个:http://selenium.googlecode.com/svn/trunk/docs/api/rb/Selenium/WebDriver/ActionBuilder.html
您可以使用ActionBuilder执行所需操作。 move_to会将光标放在元素的中间,你需要根据它来改变偏移量。
driver.action.move_to(element, xOffset, yOffset).
click().
perform
答案 1 :(得分:0)
看看水豚上的点击代码,发现您可以将x和y坐标传递到您要单击的位置:https://github.com/teamcapybara/capybara/blob/8f86f46d2c486aa27045f853ff7696f5aa34dcf4/lib/capybara/node/element.rb#L157-L174
这在水豚上为我工作:
page.find('#canvas-id').click([], { x: 50, y: 80 })