解决方法
使用Capybara,您可以触发点击事件,而不是直接点击元素,如下所示:
page.find("#some_element").trigger("click")
问题是这在Selenium中不起作用.所以你可以做的是根据当前的javascript驱动程序有条件地执行标准的水豚单击或触发器(“点击”),这看起来像:
if Capybara.javascript_driver == :selenium page.find("#some_element").click else page.find("#some_element").trigger("click") end
显然这不太理想,但这是我发现处理这类情况的最好方法.