Skip to main content

Mouse & Keyboard

Besides the regular Capybara API, the driver exposes low-level helpers.

send_keys(*keys)​

Sends keys to the currently focused element.

page.driver.send_keys("Hello", :enter)
page.driver.send_keys([:ctrl, "a"], :backspace)

active_element : Capybara::Cuprite::Node​

Returns the currently focused element, it also powers Capybara's :focused filter.

page.driver.active_element
expect(page).to have_field("Email", focused: true)

Ferrum mouse and keyboard​

For more control use Ferrum's mouse and keyboard:

browser = page.driver.browser
browser.mouse.click(x: 100, y: 200)
browser.mouse.move(x: 123, y: 456).down.up
browser.mouse.scroll_by(0, 400)
browser.keyboard.type("text", :Enter)

page.driver.click(x, y) is deprecated in favor of browser.mouse.click, and page.driver.scroll_to(left, top) in favor of Capybara's page.scroll_to(left, top).