java+seleium屏幕截图(全面截图,长截图)

2020-11-13  本文已影响0人  开心的小哈

一,全面截图

使用调整浏览器窗口大小进行截全面图片
(注:使用 driver.manage().window().maximize()进行截图时需要设设置窗口不隐藏,要弹出窗口应为弹窗窗口才会获得当前windows窗口的大小给浏览器进行赋值最大窗口)

 //配置本地的chromediver.exe谷歌的内核
         System.setProperty("webdriver.gecko.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
         //设置ChromeOptions打开方式,设置headless:不弹出浏览器
         //设置好使用ChromeDriver使用
         ChromeDriver driver = new ChromeDriver();    
        
         driver.get("https://www.jianshu.com/u/a2b05c68b03b");
        
         //设置浏览器弹窗页面的大小
         driver.manage().window().maximize();
         //使用getScreenshotAs进行截取屏幕
            File srcFile = driver.getScreenshotAs(OutputType.FILE);  
            FileUtils.copyFile(srcFile, new File("G:\\pyChar\\jj.png")); 
      

二,长截图

将浏览器窗口大小调整页面滚动的距离长度并截图从而得到长截图

 //配置本地的chromediver.exe谷歌的内核
         System.setProperty("webdriver.gecko.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
         //设置ChromeOptions打开方式,设置headless:不弹出浏览器
         ChromeOptions options = new ChromeOptions();
         options.addArguments("headless");
         //设置好使用ChromeDriver使用
         ChromeDriver driver = new ChromeDriver(options);    
         //获取要截图的地址,注:需要先获取地址哦,不然下方获取的宽度高度就会是弹窗的高和宽,而不是页面内容的高宽
         driver.get("https://www.jianshu.com/u/a2b05c68b03b");
         //获取页面高宽使用:return document.documentElement.scrollWidth
         //Long width = (Long)driver.executeScript("return document.documentElement.scrollWidth");
        // Long height =(Long) driver.executeScript("return document.documentElement.scrollHeight");
        Long width = (Long) ((JavascriptExecutor)driver).executeScript("return document.documentElement.scrollWidth");
        Long height = (Long) ((JavascriptExecutor)driver).executeScript("return document.documentElement.scrollHeight");
         //设置浏览器弹窗页面的大小
         driver.manage().window().setSize(new Dimension(width.intValue(), height.intValue()));
         //使用getScreenshotAs进行截取屏幕
            File srcFile = driver.getScreenshotAs(OutputType.FILE);  
            FileUtils.copyFile(srcFile, new File("G:\\pyChar\\jj.png")); 

一,全面屏截图效果图:


~( ̄▽ ̄)~*

二,长截屏:


(⊙﹏⊙)
上一篇 下一篇

猜你喜欢

热点阅读