def click(*modifiers)
      # TODO: Should wait_for_enabled be default, or `Button` specific behavior?
      element_call(:wait_for_enabled) do
        if modifiers.any?
          action = driver.action
          modifiers.each { |mod| action.key_down mod }
          action.click @element
          modifiers.each { |mod| action.key_up mod }

          action.perform
        else
          @element.click
        end
      end

      browser.after_hooks.run
    end
def click(*modifiers)
      # TODO: Should wait_for_enabled be default, or `Button` specific behavior?
      element_call(:wait_for_enabled) do
        if modifiers.any?
          action = driver.action
          modifiers.each { |mod| action.key_down mod }
          action.click @element
          modifiers.each { |mod| action.key_up mod }

          action.perform
        else
          @element.click
        end
      end

      browser.after_hooks.run
    end
Clicks the element, optionally while pressing the given modifier keys.
 Note that support for holding a modifier key is currently experimental,
 and may not work at all.

 @example Click an element
   browser.element(name: "new_user_button").click

 @example Click an element with shift key pressed
   browser.element(name: "new_user_button").click(:shift)

 @example Click an element with several modifier keys pressed
   browser.element(name: "new_user_button").click(:shift, :control)

 @param [:shift, :alt, :control, :command, :meta] modifiers to press while clicking.