class Selenium::WebDriver::Element

def ==(other)

def ==(other)
  other.is_a?(self.class) && ref == other.ref
end

def accessible_name

def accessible_name
  bridge.element_aria_label @id
end

def aria_role

def aria_role
  bridge.element_aria_role @id
end

def as_json(*)

def as_json(*)
  @id.is_a?(Hash) ? @id : {ELEMENT_KEY => @id}
end

def attribute(name)

def attribute(name)
  bridge.element_attribute self, name
end

def clear

def clear
  bridge.clear_element @id
end

def click

def click
  bridge.click_element @id
end

def css_value(prop)

def css_value(prop)
  bridge.element_value_of_css_property @id, prop
end

def displayed?

def displayed?
  bridge.element_displayed? self
end

def dom_attribute(name)

def dom_attribute(name)
  bridge.element_dom_attribute @id, name
end

def enabled?

def enabled?
  bridge.element_enabled? @id
end

def hash

def hash
  [@id, @bridge].hash
end

def initialize(bridge, id)

def initialize(bridge, id)
  @bridge = bridge
  @id = id
end

def inspect

def inspect
  format '#<%<class>s:0x%<hash>x id=%<id>s>', class: self.class, hash: hash * 2, id: @id.inspect
end

def location

def location
  bridge.element_location @id
end

def location_once_scrolled_into_view

def location_once_scrolled_into_view
  bridge.element_location_once_scrolled_into_view @id
end

def property(name)

def property(name)
  bridge.element_property @id, name
end

def rect

def rect
  bridge.element_rect @id
end

def ref

def ref
  [:element, @id]
end

def screenshot

def screenshot
  bridge.element_screenshot(@id)
end

def selectable?

def selectable?
  tn = tag_name.downcase
  type = attribute(:type).to_s.downcase
  tn == 'option' || (tn == 'input' && %w[radio checkbox].include?(type))
end

def selected?

def selected?
  bridge.element_selected? @id
end

def send_keys(*args)

def send_keys(*args)
  bridge.send_keys_to_element @id, Keys.encode(args)
end

def shadow_root

def shadow_root
  bridge.shadow_root @id
end

def size

def size
  bridge.element_size @id
end

def submit

def submit
  bridge.submit_element @id
end

def tag_name

def tag_name
  bridge.element_tag_name @id
end

def text

def text
  bridge.element_text @id
end

def to_json(*)

def to_json(*)
  JSON.generate as_json
end