繁体   English   中英

Selenium或Watir Webdriver,如何保存调整大小的截图?

[英]Selenium or Watir Webdriver, how to save resized screenshot?

我试图获得一个重新调整大小的谷歌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),捕获桌面图像(使用Windows GetDesktopPrintWindow API)以及使用WebDriver Window API提供的坐标对其进行裁剪非常容易。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM