ruby - 如何在延迟加载图像的网页上使用 watir webdriver 捕获屏幕截图

标签 ruby watir watir-webdriver

我正在使用 watir webdriver 对网页进行一些自动化测试。这些页面有许多图像,当用户将内容滚动到 View 中时,这些图像会被延迟加载(使用jquery延迟加载插件)

我在做

10.times do
    browser.send_keys :space
end

ScrollView 中的项目并且加载正常 我也这么做

browser.div(:id => 'footer').wd.location_once_scrolled_into_view 

将其滚动到底部 然后我就这样做

browser.screenshot.save

这似乎没有捕获任何通过 jquery 插件延迟加载的图像。

如何捕获整个页面

最佳答案

您可以做的最简单的事情就是滚动到页面底部。计算图像数,发送空格,再次计算图像数。如果图像数量增加,请再次发送空格。如果数字相同,则您已加载所有图像。

类似这样的东西(未经测试):

old_image_count = 0
new_image_count = browser.imgs
while old_image_count < new_image_count
  old_image_count = browser.imgs
  browser.send_keys :space
  new_image_count = browser.imgs
end

关于ruby - 如何在延迟加载图像的网页上使用 watir webdriver 捕获屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12059906/

相关文章:

ruby - 如何在 IntelliJ IDEA Community 12 中获得 ruby​​ 语法高亮

ruby - 获取数组的拒绝计数

Watir-Webdriver 等待下载完成

html - 需要帮助将兄弟元素错误消息定位到特定的选择列表

ruby-on-rails - rails 发布请求

windows - sqlite3-ruby gem : Failed to build gem native extension

linux - 单击弹出窗口(Linux)

ruby - 在 ruby​​ Selenium 中移动鼠标(move_to)

watir - 预加载浏览器剪贴板以测试使用 watir-webdriver 粘贴到字段中

ruby - 使用 Watir Webdriver 测试 Highcharts