Class: Selenium::WebDriver::TargetLocator
- Inherits:
-
Object
- Object
- Selenium::WebDriver::TargetLocator
- Defined in:
- lib/selenium/webdriver/common/target_locator.rb
Instance Method Summary collapse
-
#active_element ⇒ WebDriver::Element
get the active element.
-
#alert ⇒ Object
switches to the currently active modal dialog for this particular driver instance.
-
#default_content ⇒ Object
selects either the first frame on the page, or the main document when a page contains iframes.
-
#frame(id) ⇒ Object
switch to the frame with the given id.
-
#initialize(bridge) ⇒ TargetLocator
constructor
private
A new instance of TargetLocator.
-
#parent_frame ⇒ Object
switch to the parent frame.
-
#window(id) ⇒ Object
switch to the given window handle.
Constructor Details
#initialize(bridge) ⇒ TargetLocator
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of TargetLocator.
27 28 29 |
# File 'lib/selenium/webdriver/common/target_locator.rb', line 27 def initialize(bridge) @bridge = bridge end |
Instance Method Details
#active_element ⇒ WebDriver::Element
get the active element
90 91 92 |
# File 'lib/selenium/webdriver/common/target_locator.rb', line 90 def active_element @bridge.switch_to_active_element end |
#alert ⇒ Object
switches to the currently active modal dialog for this particular driver instance
106 107 108 |
# File 'lib/selenium/webdriver/common/target_locator.rb', line 106 def alert Alert.new(@bridge) end |
#default_content ⇒ Object
selects either the first frame on the page, or the main document when a page contains iframes.
98 99 100 |
# File 'lib/selenium/webdriver/common/target_locator.rb', line 98 def default_content @bridge.switch_to_default_content end |
#frame(id) ⇒ Object
switch to the frame with the given id
35 36 37 |
# File 'lib/selenium/webdriver/common/target_locator.rb', line 35 def frame(id) @bridge.switch_to_frame id end |
#parent_frame ⇒ Object
switch to the parent frame
43 44 45 |
# File 'lib/selenium/webdriver/common/target_locator.rb', line 43 def parent_frame @bridge.switch_to_parent_frame end |
#window(id) ⇒ Object
switch to the given window handle
If given a block, this method will switch back to the original window after block execution.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/selenium/webdriver/common/target_locator.rb', line 57 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 returned = yield ensure current_handles = @bridge.window_handles original = current_handles.first unless current_handles.include? original @bridge.switch_to_window original returned end else @bridge.switch_to_window id end end |