class Watir::FramedDriver

@api private

Public Class Methods

new(element, browser) click to toggle source
# File lib/watir/elements/iframe.rb, line 110
def initialize(element, browser)
  @element = element
  @browser = browser
  @driver = browser.wd
end

Public Instance Methods

==(other) click to toggle source
# File lib/watir/elements/iframe.rb, line 116
def ==(other)
  wd == other.wd
end
Also aliased as: eql?
eql?(other)
Alias for: ==
method_missing(meth, *args, &blk) click to toggle source
Calls superclass method
# File lib/watir/elements/iframe.rb, line 142
def method_missing(meth, *args, &blk)
  if %i[find_element find_elements].include?(meth)
    @driver.send(meth, *args, &blk)
  elsif @driver.respond_to?(meth)
    switch!
    @driver.send(meth, *args, &blk)
  elsif @element.respond_to?(meth)
    @element.send(meth, *args, &blk)
  else
    super
  end
end
respond_to_missing?(meth, _include_private) click to toggle source
Calls superclass method
# File lib/watir/elements/iframe.rb, line 138
def respond_to_missing?(meth, _include_private)
  @driver.respond_to?(meth) || @element.respond_to?(meth) || super(meth, false)
end
send_keys(*args) click to toggle source
# File lib/watir/elements/iframe.rb, line 121
def send_keys(*args)
  switch!
  @driver.switch_to.active_element.send_keys(*args)
end
switch!() click to toggle source
# File lib/watir/elements/iframe.rb, line 126
def switch!
  @driver.switch_to.frame @element
  @browser.default_context = false
  @browser.after_hooks.run
rescue Selenium::WebDriver::Error::NoSuchFrameError => e
  raise UnknownFrameException, e.message
end
wd() click to toggle source
# File lib/watir/elements/iframe.rb, line 134
def wd
  @element
end