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?
70
71
72
73
74
|
# File 'lib/watir-webdriver/window_switching.rb', line 70
def ==(other)
return false unless other.kind_of?(self.class)
handle == other.handle
end
|
85
86
87
|
# File 'lib/watir-webdriver/window_switching.rb', line 85
def close
use { @driver.close }
end
|
#current? ⇒ Boolean
81
82
83
|
# File 'lib/watir-webdriver/window_switching.rb', line 81
def current?
@driver.window_handle == handle
end
|
77
78
79
|
# File 'lib/watir-webdriver/window_switching.rb', line 77
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
|
#present? ⇒ Boolean
64
65
66
67
68
|
# File 'lib/watir-webdriver/window_switching.rb', line 64
def present?
@handle = nil
exists?
end
|
89
90
91
92
93
94
|
# File 'lib/watir-webdriver/window_switching.rb', line 89
def title
title = nil
use { title = @driver.title }
title
end
|
96
97
98
99
100
101
|
# File 'lib/watir-webdriver/window_switching.rb', line 96
def url
url = nil
use { url = @driver.current_url }
url
end
|
#use(&blk) ⇒ Object
103
104
105
106
|
# File 'lib/watir-webdriver/window_switching.rb', line 103
def use(&blk)
@driver.switch_to.window(handle, &blk)
self
end
|