gpt4 book ai didi

ruby-on-rails - Timeout::Error in Rails 应用程序使用 Watir

转载 作者:行者123 更新时间:2023-12-02 00:27:20 24 4
gpt4 key购买 nike

我正在使用 Watir 浏览页面并截取我应用程序中某些页面的屏幕截图。

但是,从我的服务器获取页面需要一段时间,而且我会收到 Timeout::Error。

为了解决这个问题,我在我的 Watir 浏览器实例中使用了等待,以检查是否存在 ID 为“content”的 div,并让它等待直到它存在。但是,这需要一些时间,并且页面会加载到 Watir 浏览器中。但是加载后,我在主浏览器窗口中看到了 Timeout::Error

这是我的代码:

@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 }

关于ruby-on-rails - Timeout::Error in Rails 应用程序使用 Watir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8401885/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com