class Selenium::WebDriver::TargetLocator
Public Class Methods
Source
# File lib/selenium/webdriver/common/target_locator.rb, line 27 def initialize(bridge) @bridge = bridge end
@api private
Public Instance Methods
Source
# File lib/selenium/webdriver/common/target_locator.rb, line 118 def active_element @bridge.switch_to_active_element end
get the active element
@return [WebDriver::Element]
Source
# File lib/selenium/webdriver/common/target_locator.rb, line 134 def alert Alert.new(@bridge) end
switches to the currently active modal dialog for this particular driver instance
Source
# File lib/selenium/webdriver/common/target_locator.rb, line 126 def default_content @bridge.switch_to_default_content end
selects either the first frame on the page, or the main document when a page contains iframes.
Source
# File lib/selenium/webdriver/common/target_locator.rb, line 35 def frame(id) @bridge.switch_to_frame id end
switch to the frame with the given id
Source
# File lib/selenium/webdriver/common/target_locator.rb, line 54 def new_window(type = :window) raise ArgumentError, "Valid types are :tab and :window, received: #{type.inspect}" unless %i[window tab].include?(type) handle = @bridge.new_window(type)['handle'] if block_given? execute_and_close = proc do yield(self) begin @bridge.close rescue Error::NoSuchWindowError # window already closed end end window(handle, &execute_and_close) else window(handle) end end
steep:ignore:start
Source
# File lib/selenium/webdriver/common/target_locator.rb, line 43 def parent_frame @bridge.switch_to_parent_frame end
switch to the parent frame
Source
# File lib/selenium/webdriver/common/target_locator.rb, line 86 def window(id) if block_given? original = begin @bridge.window_handle rescue Error::NoSuchWindowError nil end unless @bridge.window_handles.include? id raise Error::NoSuchWindowError, "The specified identifier '#{id}' is not found in the window handle list" end @bridge.switch_to_window id begin yield ensure current_handles = @bridge.window_handles original = current_handles.first unless current_handles.include? original @bridge.switch_to_window original end else @bridge.switch_to_window id end end
switch to the given window handle
If given a block, this method will switch back to the original window after block execution.
@param id
A window handle, obtained through Driver#window_handles