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.
130 131 132 133 |
# File 'lib/watir-webdriver/wait.rb', line 130 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.
144 145 146 147 148 149 |
# File 'lib/watir-webdriver/wait.rb', line 144 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
110 111 112 113 114 115 116 117 118 119 |
# File 'lib/watir-webdriver/wait.rb', line 110 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 |