class Capybara::Selenium::SafariNode

def set_text(value, clear: nil, **_unused)

def set_text(value, clear: nil, **_unused)
  value = value.to_s
  if clear == :backspace
    # Clear field by sending the correct number of backspace keys.
    backspaces = [:backspace] * self.value.to_s.length
    send_keys([:control, 'e'], *backspaces, value)
  else
    super.tap do
      # React doesn't see the safaridriver element clear
      send_keys(:space, :backspace) if value.to_s.empty? && clear.nil?
    end
  end
end