我可以通过滚动到window.inner高度拍摄整个页面的屏幕截图,但在所有页面中组合面临重复(位置固定页眉/内容)的问题。 是他们解决此问题的任何解决方案。请清楚地发布您的答案。
FireFox 打开Developer Toolbar并点击shift + f2然后输入此命令。
screenshot d:\yash.png --fullpage
然后它减少了clientWidth并截取屏幕截图。
Selenium-WebDriver FireFox - ScreenShot
将 selenium与IE 一起使用(取消选中安全和隐私复选框并减少互联网,将所有Cookie接受为零)。
使用ieCapabilities.setCapability("ignoreZoomSetting", true);
然后它通过减少客户端宽度而没有任何图像像素问题来获取整个页面的屏幕截图。但是本网站上的屏幕截图:http://help.dottoro.com/ljlumkqh.php
与预期不符。
但在 Chrome 中,只需visible part个网页。为了服用 整页屏幕截图我们需要滚动到clientHeight并将所有内容组合在一起 屏幕截图。
答案 0 :(得分:0)
首先,您无需滚动以获取硒的全屏幕截图。
删除重复数据的方法:
ImageIO.read()
方法为屏幕截图文件创建bufferedImage对象。.getLocation().getX()/getY()
方法协调重复部分(标题)。.getSubimage()
方法删除重复数据。ImageIO.write()
方法将图像保存到任何文件。答案 1 :(得分:0)
我认为应该有一些代码来支持你的问题。
但是,假设您明确滚动页面以截取屏幕截图。
解决方案/建议/提示:默认情况下,Selenium会滚动页面以获取整个页面的屏幕截图。
采取上述截图的代码:
WebDriver driver = new FirefoxDriver();
driver.get("http://www.w3schools.com/html/default.asp");
File myScreenShot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(myScreenShot, new File("D:\\ff.png"));
有关截屏的详情,请参阅this。