The Window class represents a browser window.
You can get an instance of the class by calling either of:
Note that some drivers (e.g. Selenium) support getting size of/resizing/closing only
current window. So if you invoke such method for: * window that is current, Capybara will make 2 Selenium method invocations (get handle of current window + get size/resize/close). * window that is not current, Capybara will make 4 Selenium method invocations (get handle of current window + switch to given handle + get size/resize/close + switch to original handle)
Close window.
If this method was called for window that is current, then after calling this method
future invocations of other Capybara methods should raise `session.driver.no_such_window_error` until another window will be switched to.
@!macro about_current
If this method was called for window that is not current, then after calling this method current window shouldn remain the same as it was before calling this method.
# File lib/capybara/window.rb, line 65 def close @driver.close_window(handle) end
@return [Boolean] whether the window is closed
# File lib/capybara/window.rb, line 42 def closed? !exists? end
@return [Boolean] whether this window is the window in which commands are being executed
# File lib/capybara/window.rb, line 48 def current? @driver.current_window_handle == @handle rescue @driver.no_such_window_error false end
# File lib/capybara/window.rb, line 102 def eql?(other) other.kind_of?(self.class) && @session == other.session && @handle == other.handle end
@return [Boolean] whether the window is not closed
# File lib/capybara/window.rb, line 36 def exists? @driver.window_handles.include?(@handle) end
# File lib/capybara/window.rb, line 107 def hash @session.hash ^ @handle.hash end
# File lib/capybara/window.rb, line 111 def inspect "#<Window @handle=#{@handle.inspect}>" end
Maximize window.
If a particular driver (e.g. headless driver) doesn’t have concept of maximizing it
may not support this method.
@macro about_current
# File lib/capybara/window.rb, line 98 def maximize @driver.maximize_window(handle) end
Resize window.
@macro about_current @param width [String] the new window width in pixels @param height [String] the new window height in pixels
# File lib/capybara/window.rb, line 86 def resize_to(width, height) @driver.resize_window_to(handle, width, height) end
Generated with the Darkfish Rdoc Generator 2.