Capybara provides Element#hover
method from version 2.1:
find('.some_class').hover
This method is implemented in Capybara::Selenium::Driver
in almost the same way as in @AlexD’s answer.
Note that to use #hover
in Selenium it’s usually better to turn native events on:
Capybara.register_driver :selenium do |app|
profile = Selenium::WebDriver::Firefox::Profile.new
profile.native_events = true
Capybara::Selenium::Driver.new(app, :browser => :firefox, profile: profile)
end