我尝试了以下代码:
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
有没有替代方法来执行鼠标悬停元素而不是在水豚中使用触发器?
答案 0 :(得分:5)
page.execute_script(some_javascript)
,特别是some_javascript = "$(selector).trigger(event)"
。这适用于所有具有js功能的驱动程序。请注意,page.evaluate_script(some_javascript)
也可以正常工作,但不保证也不鼓励(仅当脚本返回原语时才使用evaluate_script
。)
我的意思是:执行客户端脚本,它可以执行您想要的操作(触发事件)。