Class: Watir::Window
Overview
Instance Method Summary
collapse
#wait_until_present, #wait_while_present, #when_present
Constructor Details
#initialize(driver, selector) ⇒ Window
Returns a new instance of Window.
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/watir-webdriver/window_switching.rb', line 38
def initialize(driver, selector)
@driver = driver
@selector = selector
if selector.empty?
@handle = driver.window_handle
elsif selector.has_key? :handle
@handle = selector.delete :handle
else
unless selector.keys.all? { |k| [:title, :url, :index].include? k }
raise ArgumentError, "invalid window selector: #{selector.inspect}"
end
end
end
|
Instance Method Details
#==(other) ⇒ Object
Also known as:
eql?
65
66
67
68
69
|
# File 'lib/watir-webdriver/window_switching.rb', line 65
def ==(other)
return false unless other.kind_of?(self.class)
handle == other.handle
end
|
80
81
82
|
# File 'lib/watir-webdriver/window_switching.rb', line 80
def close
use { @driver.close }
end
|
#current? ⇒ Boolean
76
77
78
|
# File 'lib/watir-webdriver/window_switching.rb', line 76
def current?
@driver.window_handle == handle
end
|
#exists? ⇒ Boolean
Also known as:
present?
72
73
74
|
# File 'lib/watir-webdriver/window_switching.rb', line 72
def hash
handle.hash ^ self.class.hash
end
|
53
54
55
|
# File 'lib/watir-webdriver/window_switching.rb', line 53
def inspect
'#<%s:0x%x located=%s>' % [self.class, hash*2, !!@handle]
end
|
84
85
86
87
88
89
|
# File 'lib/watir-webdriver/window_switching.rb', line 84
def title
title = nil
use { title = @driver.title }
title
end
|
91
92
93
94
95
96
|
# File 'lib/watir-webdriver/window_switching.rb', line 91
def url
url = nil
use { url = @driver.current_url }
url
end
|
#use(&blk) ⇒ Object
98
99
100
101
|
# File 'lib/watir-webdriver/window_switching.rb', line 98
def use(&blk)
@driver.switch_to.window(handle, &blk)
self
end
|