lib/watir/dom/elements/element.rb in watir-dom-wait-0.1.1 vs lib/watir/dom/elements/element.rb in watir-dom-wait-0.1.2

- old
+ new

@@ -27,22 +27,25 @@ # @option opts [Float] delay How long to wait for DOM modifications to start in seconds. Defaults to 1 # def when_dom_changed(opts = {}) message = "waiting for DOM subtree to finish modifying in #{selector_string}" - opts[:timeout] ||= 30 - opts[:interval] ||= 0.5 - opts[:delay] ||= 1 + opts[:timeout] ||= Dom::Wait.timeout + opts[:interval] ||= Dom::Wait.interval + opts[:delay] ||= Dom::Wait.delay if block_given? js = Dom::Wait::JAVASCRIPT.dup browser.execute_script js, self, opts[:interval], opts[:delay] - Watir::Wait.until(opts[:timeout], message) { browser.execute_script(Dom::Wait::DOM_READY) == 0 } + Wait.until(opts[:timeout], message) { browser.execute_script(Dom::Wait::DOM_READY) == 0 } yield self else WhenDOMChangedDecorator.new(self, opts, message) end + + rescue Selenium::WebDriver::Error::StaleElementReferenceError + locate end # # Waits until DOM is changed within the element. # @@ -51,11 +54,12 @@ # @option opts [Float] interval How long to wait between DOM nodes adding/removing in seconds. Defaults to 0.5 # @option opts [Float] delay How long to wait for DOM modifications to start in seconds. Defaults to 1 # def wait_until_dom_changed(opts = {}) - when_dom_changed(opts) - nil + when_dom_changed(opts) do + # just trigger waiting + end end end # Element end # Watir