美文网首页
java+seleium屏幕截图(全面截图,长截图)

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

作者: 开心的小哈 | 来源:发表于2020-11-13 19:21 被阅读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")); 
    

    一,全面屏截图效果图:


    ~( ̄▽ ̄)~*

    二,长截屏:


    (⊙﹏⊙)

    相关文章

      网友评论

          本文标题:java+seleium屏幕截图(全面截图,长截图)

          本文链接:https://www.haomeiwen.com/subject/mnjbbktx.html