Module: Watir::EventuallyPresent
Overview
Convenience methods for things that eventually become present.
Includers should implement a public #present? and a (possibly private) #selector_string method.
Instance Method Summary collapse
-
#wait_until_present(timeout = 30) ⇒ Object
Waits until the element is present.
-
#wait_while_present(timeout = 30) ⇒ Object
Waits while the element is present.
-
#when_present(timeout = 30) ⇒ Object
Waits until the element is present.
Instance Method Details
#wait_until_present(timeout = 30) ⇒ Object
Waits until the element is present.
126 127 128 129 |
# File 'lib/watir-webdriver/wait.rb', line 126 def wait_until_present(timeout = 30) = "waiting for #{selector_string} to become present" Watir::Wait.until(timeout, ) { present? } end |
#wait_while_present(timeout = 30) ⇒ Object
Waits while the element is present.
140 141 142 143 144 145 |
# File 'lib/watir-webdriver/wait.rb', line 140 def wait_while_present(timeout = 30) = "waiting for #{selector_string} to disappear" Watir::Wait.while(timeout, ) { present? } rescue Selenium::WebDriver::Error::ObsoleteElementError # it's not present end |
#when_present(timeout = 30) ⇒ Object
Waits until the element is present.
Example:
browser.button(:id, 'foo').when_present.click
browser.div(:id, 'bar').when_present { |div| ... }
browser.p(:id, 'baz').when_present(60).text
106 107 108 109 110 111 112 113 114 115 |
# File 'lib/watir-webdriver/wait.rb', line 106 def when_present(timeout = 30) = "waiting for #{selector_string} to become present" if block_given? Watir::Wait.until(timeout, ) { present? } yield self else WhenPresentDecorator.new(self, timeout, ) end end |