最近做项目,需要用到截图的功能,就是给一个url地址,然后自动打开,截取出一个封面图片,保存到服务器上。前端有js可以支持截图,像phantomjs等js插件都可以实现,但是效果不是很好,有些页面渲染不出来。

phantom.js使用方法https://www.jianshu.com/p/074d7ab370e3

本次就介绍java使用chromedriver.exe谷歌浏览器驱动进行网页截图。

创建一个maven项目,在pom文件中加入以下依赖:

        <!--网页自动化测试--><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.9.1</version></dependency><!--commons.io文件拷贝用--><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency>

在resources目录下新建一个driver目录:

然后在ChromeDriver Mirror下载与电脑谷歌浏览器对应版本的驱动,解压放到此driver目录下

编写main方法

 public static void main(String[] args)throws Exception  {String url = "http://echarts.baidu.com/examples/";Integer sleepTime = 5*1000;// 截图等待时间String targetPath = "D:/test.jpg";// 生成图片文件路径// 设置是否启用headless模式System. setProperty("java.awt.headless", "true");// 加载谷歌浏览器驱动URL resource = Test.class.getClassLoader().getResource("");String driverPath = java.net.URLDecoder.decode(resource.getPath(), "UTF-8") + "driver/chromedriver.exe";ChromeOptions option=new ChromeOptions();option.addArguments("disable-infobars");System.setProperty("webdriver.chrome.driver", driverPath);WebDriver driver = new ChromeDriver(option);driver.manage().window().maximize();driver.get(url);Thread.sleep(sleepTime);File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);// 全屏FileUtils.copyFile(srcFile, new File(targetPath));System.out.println("===>截图完成...正在同步数据" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
//        robot.delay(3000);driver.quit();}

运行即可在D盘下生成一张jpg图片文件,我这里截的是echarts的网页,下面是截出来的效果图:

此方法截出来的图还算清晰,唯一的缺点就是调用方法的时候会打开一个浏览器窗口。如果有朋友还有其他更好的截图方法,欢迎交流。

利用java调用谷歌浏览器驱动进行网页截图相关推荐

  1. 谷歌浏览器如何使用网页截图

    谷歌浏览器要如何截图呢,用户在使用浏览器的时候就会非常需要使用页面截图,那么这款软件要如何使用呢,今天小编就会为大家分享一个怎样操作的方法,让用户在需要的时候,直接使用页面就可以马上截图,使用超级的方 ...

  2. 打开 谷歌浏览器exe_python使用selenium调用谷歌浏览器打开指定网页

    在Windows10家庭版 python36版本下 在cmd下 找到python目录下 运行pip install selenium 运行如下py脚本内容 from selenium import w ...

  3. java 调用webDriver实现访问网页(谷歌浏览器)

    首先下载 谷歌浏览器 ,及谷歌浏览器webDriver ,两个版本要对应上, 版本对应关系如下: 如果版本对应不对的话,就会出现下面的情况: ChromeDriver启动Chrome浏览器后,地址栏只 ...

  4. 谷歌浏览器自带网页截图快捷键

    在截图页面按下快捷键"fn + F12",弹出开发者的窗口. 在该页面中按快捷键"Ctrl+Shift+P",开发者工具的窗口处会弹出一个输入框和下拉菜单. 在 ...

  5. java调用i5100-300驱动连接打印机打印标签

    一.前期准备 java jdk为11 保证本机已经安装i5100-300的打印机驱动 保证本机能拼通打印机的ip地址 相关配置可查看下面的文章 i5100-300打印机驱动的安装与配置 二.pom文件 ...

  6. 利用Java调用openSMILE批量处理音频文件

    文章目录 处理单条数据 批量处理 本文作者:合肥工业大学 管理学院 qianyang: 内容可能有不到之处,欢迎交流. 处理单条数据 最近,在使用openSMILE处理音频数据.关于openSMILE ...

  7. iapp怎么调用java模块_iapp利用java调用图库

    新建uri.mjava import android.content.ContentUris; import android.content.Intent; import android.net.Ur ...

  8. iapp可以用java代码吗_iApp教学||iapp利用java调用图库

    新建uri.mjava import android.content.ContentUris; import android.content.Intent; import android.net.Ur ...

  9. Java如何利用JNI调用C++(简略介绍及步骤)

    Java如何利用JNI调用C++(简略介绍及步骤) 文章目录 Java如何利用JNI调用C++(简略介绍及步骤) 一.原理介绍 二.详细步骤 步骤一:编写Java类 步骤二:生成.h文件 步骤三:CL ...

最新文章

  1. 招硕博80人 (紧缺)!博士补贴33万,硕士房补22万,事业编,安置配偶+子女入学,坐标湖北...
  2. iOS开发UI篇—实现UITableview控件数据刷新
  3. Android自定义View实践 空气质量检测 pm2.5
  4. Java基础学习总结(91)——阿里巴巴Java开发手册公开版
  5. mysql后天命令查下显示_MySQL命令
  6. NYOJ--71--独木舟上的旅行
  7. 2.支付平台架构:业务、规划、设计与实现 --- 收银台系统
  8. STC学习:可振动感应的电子音乐
  9. HyBrid App框架介绍
  10. FlowNet到FlowNet2.0:基于卷积神经网络的光流预测算法
  11. centos7 aarch64 环境编译安装MP4Box
  12. android 平板怎么截图,小米平板4怎么截图 小米平板4截屏的三种方法
  13. slf4j的包使用说明
  14. mac os 安装 s2geometry + pywarps2
  15. 每日一题pwnable.kr bof
  16. 25. OP-TEE驱动篇----驱动编译,加载和初始化(二)
  17. 考驾照自我总结(待更新修正)
  18. MyCat (一) Mycat的安装
  19. 西南大学计算机研究生就业好嘛,西南大学2018毕业生就业结果:就业率为 89.45%,最高月薪7600...
  20. 传感模块:MATEKSYS Optical Flow LIDAR 3901-L0X

热门文章

  1. 使用3DMAX制作“黄房子”教程(四)
  2. 用python画渐变色_用Python画colorbar渐变图+修改刻度大小+修改渐变颜色
  3. ppt转换成pdf转换器在线
  4. wps 直连连mysql_WPS 表格如何连接MySQL 数据库?
  5. Nginx 最全知识图谱 培训 讲解拿去用
  6. 有符号数、无符号数、浮点数的理解
  7. 我的E家_中兴ZXDSL 531B开路由的方法!
  8. cname域名解析(cname域名解析查询)
  9. 面试总结 - YYCache
  10. C语言中通讯录的实现