module Watir::HasWindow
Public Instance Methods
window(*args, &blk)
click to toggle source
Returns browser window.
@example
browser.window(title: 'closeable window')
@return [Window]
# File lib/watir-webdriver/has_window.rb, line 32 def window(*args, &blk) win = Window.new @driver, extract_selector(args) win.use(&blk) if block_given? win end
windows(*args)
click to toggle source
Returns browser windows array.
@example
browser.windows(title: 'closeable window')
@return [Array<Window>]
# File lib/watir-webdriver/has_window.rb, line 13 def windows(*args) all = @driver.window_handles.map { |handle| Window.new(@driver, handle: handle) } if args.empty? all else filter_windows extract_selector(args), all end end
Private Instance Methods
filter_windows(selector, windows)
click to toggle source
# File lib/watir-webdriver/has_window.rb, line 42 def filter_windows(selector, windows) unless selector.keys.all? { |k| [:title, :url].include? k } raise ArgumentError, "invalid window selector: #{selector.inspect}" end windows.select do |win| selector.all? { |key, value| value === win.send(key) } end end