【问题标题】:Selenium or Watir Webdriver, how to save resized screenshot?Selenium 或 Watir Webdriver,如何保存调整大小的屏幕截图?
【发布时间】:2013-07-24 07:58:58
【问题描述】:

我尝试获取调整大小的 400x400 谷歌屏幕截图。我在 Selenium 和 Watir 中都尝试过,但都没有成功。

require 'watir-webdriver'
b = Watir::Browser.new
b.goto 'google.com'
b.window.resize_to(400,400)
b.driver.save_screenshot("screenshot.jpg")

我总是得到原始浏览器大小的屏幕截图。

知道如何将其保存为 400x400 大小吗?

【问题讨论】:

    标签: ruby selenium-webdriver watir watir-webdriver


    【解决方案1】:

    目前,WebDriver 将截图定义为“整页截图”。也就是说,整个 DOM 应该由save_screenshot 方法生成的图像来表示。 Chrome 驱动程序不生成完整 DOM 的屏幕截图的事实是 bug in the Chrome driver。所以真正的答案是没有办法只使用WebDriver生成浏览器视口的截图。

    话虽如此,根据您的操作系统,也许可以使用其他编程方式来完成此操作。例如,在 Windows 上,获取桌面窗口的窗口句柄 (HWND)、捕获桌面图像(使用 Windows GetDesktopPrintWindow API)并使用由WebDriver Window API

    【讨论】:

    • 对 os x 的解决方案有任何想法吗?
    【解决方案2】:

    我能够在 Firefox 中重现该问题,但 Chrome 会生成调整大小的屏幕截图。我的猜测是这是FirefoxDriver 中的一个错误。看看Selenium bug tracker中是否已经报告了问题,如果没有,请报告。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-23
    • 2014-08-25
    • 1970-01-01
    • 2017-02-12
    • 2015-10-28
    • 1970-01-01
    相关资源
    最近更新 更多