我正在使用 Watir 浏览页面并截取应用程序中某些页面的屏幕截图。
但是,从我的服务器获取页面需要一段时间,并且我收到 Timeout::Error。
为了解决这个问题,我在 Watir 浏览器实例中使用了等待,以检查 id 为“content”的 div 是否存在,并使其等待,直到它存在。但是,需要一些时间,页面才会加载到 Watir 浏览器中。但加载后,我得到了超时::错误在我的主浏览器窗口中。
这是我的代码:
@pages = Pages.all
browser = Watir::Browser.new
@pages.each do |page|
page_url = app_root_url + 'pages/' + page.id.to_s
browser.goto page_url
Watir::Waiter::wait_until { browser.div(:id, 'content').exists? }
file_save_path = pages_screenshot_path.to_s + page.id.to_s + '.png'
browser.driver.save_screenshot(file_save_path)
end
browser.close
每个页面都包含一个 id 为“content”的 div。不过,我想它还没有等待。
Watir::Waiter.wait_until 的默认等待时间为 60 秒(每半秒检查一次,直到 60 秒)。您可以指定一个更高的值,如下所示:
Watir::Waiter.wait_until(120) { code code code }
您可以在这里找到更多细节:http://wiki.openqa.org/display/WTR/How+to+wait+with+Watir
对于 watir-webdriver,您可以使用 Watir::Wait.methods:
Watir::Wait.until(120) { code code code }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)