我正在尝试使用 Selenium Webdriver 截屏。
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File(File_Location));
现在的问题是,对于 IE 和 Firefox,即使我设置了窗口的尺寸,屏幕截图的大小也会有所不同。
谁能给我建议如何为所有浏览器获取相同大小的屏幕截图?
我正在尝试使用 Selenium Webdriver 截屏。
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File(File_Location));
现在的问题是,对于 IE 和 Firefox,即使我设置了窗口的尺寸,屏幕截图的大小也会有所不同。
谁能给我建议如何为所有浏览器获取相同大小的屏幕截图?
你不能。
不同的驱动实现截图的方式不同,IEDriver会根据IE的版本产生不同的大小。
对此提出了一系列错误,这个错误可能会告诉您您需要知道的所有内容并验证此答案:
具体来说
项目成员 #3 james.h....@gmail.com当前 WebDriver API 中的屏幕截图是指整页屏幕截图。与其他浏览器不同,让 IE 呈现整个页面的唯一方法是让 IE 窗口足够大以绘制整个页面。换句话说,调整窗口大小。对于 IE,我们要么接受调整大小,要么不截取整页截图。这是 IE 的限制;IE 驱动程序无法解决此问题。如果您只想截取可见视口的屏幕截图,而不需要调整大小,您可以使用 Windows API PrintWindow 函数。 状态:按预期工作
尝试这个:
EventFiringWebDriver efDriver = new EventFiringWebDriver(driver);
File scrFile = efDriver.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File(File_Location));