1

我尝试获取调整大小的 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 吗?

4

2 回答 2

4

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

话虽如此,根据您的操作系统,可能会使用其他编程方式来完成此操作。例如,在 Windows 上,很容易获得桌面窗口的窗口句柄 (HWND),捕获桌面图像(使用 WindowsGetDesktopPrintWindowAPI),并使用WebDriver WindowAPI提供的坐标进行裁剪。

于 2013-07-24T12:16:20.027 回答
0

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

于 2013-07-24T08:59:18.863 回答