Class: Selenium::WebDriver::Window

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

Instance Method Summary collapse

Constructor Details

#initialize(bridge) ⇒ Window

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 Window.



31
32
33
# File 'lib/selenium/webdriver/common/window.rb', line 31

def initialize(bridge)
  @bridge = bridge
end

Instance Method Details

#full_screenObject

Make current window full screen



158
159
160
# File 'lib/selenium/webdriver/common/window.rb', line 158

def full_screen
  @bridge.full_screen_window
end

#maximizeObject

Maximize the current window



142
143
144
# File 'lib/selenium/webdriver/common/window.rb', line 142

def maximize
  @bridge.maximize_window
end

#minimizeObject

Minimize the current window



150
151
152
# File 'lib/selenium/webdriver/common/window.rb', line 150

def minimize
  @bridge.minimize_window
end

#move_to(x, y) ⇒ Object

Equivalent to #position=, but accepts x and y arguments.

Examples:


driver.manage.window.move_to(300, 400)


134
135
136
# File 'lib/selenium/webdriver/common/window.rb', line 134

def move_to(x, y)
  @bridge.reposition_window Integer(x), Integer(y)
end

#positionSelenium::WebDriver::Point

Get the position of the current window.

Returns:



81
82
83
# File 'lib/selenium/webdriver/common/window.rb', line 81

def position
  @bridge.window_position
end

#position=(point) ⇒ Object

Move the current window to the given position.

Parameters:



66
67
68
69
70
71
72
73
# File 'lib/selenium/webdriver/common/window.rb', line 66

def position=(point)
  unless point.respond_to?(:x) && point.respond_to?(:y)
    raise ArgumentError, "expected #{point.inspect}:#{point.class}" \
                         ' to respond to #x and #y'
  end

  @bridge.reposition_window point.x, point.y
end

#rectSelenium::WebDriver::Rectangle

Get the rect of the current window.

Returns:



109
110
111
# File 'lib/selenium/webdriver/common/window.rb', line 109

def rect
  @bridge.window_rect
end

#rect=(rectangle) ⇒ Object

Sets the current window rect to the given point and position.

Parameters:



91
92
93
94
95
96
97
98
99
100
101
# File 'lib/selenium/webdriver/common/window.rb', line 91

def rect=(rectangle)
  unless %w[x y width height].all? { |val| rectangle.respond_to? val }
    raise ArgumentError, "expected #{rectangle.inspect}:#{rectangle.class}" \
                         ' to respond to #x, #y, #width, and #height'
  end

  @bridge.set_window_rect(x: rectangle.x,
                          y: rectangle.y,
                          width: rectangle.width,
                          height: rectangle.height)
end

#resize_to(width, height) ⇒ Object

Equivalent to #size=, but accepts width and height arguments.

Examples:

Maximize the window.


max_width, max_height = driver.execute_script("return [window.screen.availWidth, window.screen.availHeight];")
driver.manage.window.resize_to(max_width, max_height)


122
123
124
# File 'lib/selenium/webdriver/common/window.rb', line 122

def resize_to(width, height)
  @bridge.resize_window Integer(width), Integer(height)
end

#sizeSelenium::WebDriver::Dimension

Get the size of the current window.

Returns:



56
57
58
# File 'lib/selenium/webdriver/common/window.rb', line 56

def size
  @bridge.window_size
end

#size=(dimension) ⇒ Object

Resize the current window to the given dimension.

Parameters:



41
42
43
44
45
46
47
48
# File 'lib/selenium/webdriver/common/window.rb', line 41

def size=(dimension)
  unless dimension.respond_to?(:width) && dimension.respond_to?(:height)
    raise ArgumentError, "expected #{dimension.inspect}:#{dimension.class}" \
                         ' to respond to #width and #height'
  end

  @bridge.resize_window dimension.width, dimension.height
end