我尝试获取调整大小的 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 吗?
我尝试获取调整大小的 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 吗?
目前,WebDriver 将截图定义为“整页截图”。也就是说,整个 DOM 应该由该save_screenshot
方法生成的图像来表示。Chrome 驱动程序不生成完整 DOM 的屏幕截图这一事实是 Chrome 驱动程序中的一个错误。所以真正的答案是没有办法只使用WebDriver生成浏览器视口的截图。
话虽如此,根据您的操作系统,可能会使用其他编程方式来完成此操作。例如,在 Windows 上,很容易获得桌面窗口的窗口句柄 (HWND),捕获桌面图像(使用 WindowsGetDesktop
和PrintWindow
API),并使用WebDriver Window
API提供的坐标进行裁剪。
我能够用 Firefox 重现该问题,但 Chrome 会生成调整大小的屏幕截图。我的猜测是这是FirefoxDriver中的一个错误。看看问题是否已经在Selenium 错误跟踪器中报告,如果没有,请报告。