Class: Selenium::WebDriver::TargetLocator

Inherits:
Object
  • Object
show all
Defined in:
lib/selenium/webdriver/common/target_locator.rb

Instance Method Summary collapse

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



9
10
11
# File 'lib/selenium/webdriver/common/target_locator.rb', line 9

def initialize(bridge)
  @bridge = bridge
end

Instance Method Details

#active_elementWebDriver::Element

get the active element



59
60
61
# File 'lib/selenium/webdriver/common/target_locator.rb', line 59

def active_element
  @bridge.switchToActiveElement
end

#alertObject

switches to the currently active modal dialog for this particular driver instance



75
76
77
# File 'lib/selenium/webdriver/common/target_locator.rb', line 75

def alert
  Alert.new(@bridge)
end

#default_contentObject

selects either the first frame on the page, or the main document when a page contains iframes.



67
68
69
# File 'lib/selenium/webdriver/common/target_locator.rb', line 67

def default_content
  @bridge.switchToDefaultContent
end

#frame(id) ⇒ Object

switch to the frame with the given id



17
18
19
# File 'lib/selenium/webdriver/common/target_locator.rb', line 17

def frame(id)
  @bridge.switchToFrame id
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.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/selenium/webdriver/common/target_locator.rb', line 31

def window(id)
  if block_given?
    original = @bridge.getCurrentWindowHandle
    @bridge.switchToWindow id

    begin
      returned = yield
    ensure
      current_handles = @bridge.getWindowHandles

      if current_handles.size == 1
        original = current_handles.shift
      end

      @bridge.switchToWindow original
      returned
    end
  else
    @bridge.switchToWindow id
  end
end