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).