2

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

我在做

10.times do
    browser.send_keys :space
end

要滚动视图中的项目并且加载正常,我也这样做

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

将它滚动到底部然后我做

browser.screenshot.save

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

我该怎么做才能捕获整个页面

4

2 回答 2

3

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

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

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
于 2012-08-21T19:46:11.740 回答
0

Instead of:

browser.screenshot.save

try:

browser.driver.save_screenshot("<path>/photo.jpg")
于 2012-08-21T19:53:10.970 回答