我正在尝试使用Selenium Webdriver截取屏幕截图。
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File(File_Location));
现在的问题是,对于IE和Firefox,即使我设置窗口的尺寸,屏幕截图的大小也不同。
有人可以给我建议如何为所有浏览器获取相同大小的屏幕截图?
答案 0 :(得分:0)
试试这个:
EventFiringWebDriver efDriver = new EventFiringWebDriver(driver);
File scrFile = efDriver.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File(File_Location));
答案 1 :(得分:0)
你不能。
不同的驱动程序以不同的方式实现截图,IEDriver将根据IE的版本生成不同的大小。
此处出现了一系列错误,这可能会告诉您所有需要了解并验证此答案的内容:
特别是
项目成员#3 james.h .... @ gmail.com 当前截图 WebDriver API意味着整页截图。与其他浏览器不同, 获取IE渲染整个页面的唯一方法就是拥有IE窗口 大到足以绘制整个页面。换句话说,要调整大小 窗口。对于IE,我们必须要么调整大小,要么不带 整页截图。这是IE的限制;什么都没有 IE驱动程序可以解决它。如果你想截图 只有可见的视口,没有调整大小,你可以使用 Windows API PrintWindow函数。 状态:WorkingAsIntended