是否有任何替代方法触发水豚?

时间:2012-12-19 11:18:48

标签: ruby capybara mouseover

我尝试了以下代码:

page.find("#{element_name}").trigger(:mouseover)        

我收到了错误:

Capybara::NotSupportedByDriverError (Capybara::NotSupportedByDriverError)

我正在使用selenium web-driver。

根据以下URL触发器未在selenium web-driver中实现: Unable to trigger mouse event in Capybara test

有没有替代方法来执行鼠标悬停元素而不是在水豚中使用触发器?

1 个答案:

答案 0 :(得分:5)

page.execute_script(some_javascript),特别是some_javascript = "$(selector).trigger(event)"。这适用于所有具有js功能的驱动程序。请注意,page.evaluate_script(some_javascript)也可以正常工作,但不保证也不鼓励(仅当脚本返回原语时才使用evaluate_script。)

我的意思是:执行客户端脚本,它可以执行您想要的操作(触发事件)。