首页 > 编程语言 >java selenuim 对canvas进行截图

java selenuim 对canvas进行截图

时间:2023-02-15 15:24:45浏览次数:44  
标签:canvas java 渲染 base64 selenuim 截图 浏览器

之前通过 jsoup 爬取一些静态的数据都可以

 

最近要爬一张动态渲染的地图      jsoup 爬不出来

 

只能用selenuim  打开浏览器截图了

 

selenuim 按照过程有点小坑

 

不知道为什么 需要按照额外的 guava 依赖  不然就报错

//        WebElement canvas = driver.findElement(By.className("show-map"));
//
// String tt = canvas.getScreenshotAs(OutputType.BASE64);


上面是最核心的 两行代码 找到对应元素 截图 转为base64

但是这样子做很不合理,虽然可以实现 但是并不准备这样做 打开浏览器 去截图实在是太慢 太占内存 太不合理了



最后的方案是交给前端用echarts 去渲染

给他 中国的geojson 再通过接口 告诉前端那个省需要染成什么颜色

最后截图 转为base64 发到后端 我将图片存入word

虽然感觉也有问题,但是总比打开浏览器强

最好是在后端渲染 生成图片 存入word 可是没有找到对应的工具


标签:canvas,java,渲染,base64,selenuim,截图,浏览器
From: https://www.cnblogs.com/bawanglong168/p/17123147.html

相关文章

  • java 代码优化
    代码优化的目标是:1.减小代码的体积2.提高代码运行的效率1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子......
  • Java入门
    一、了解Java1.JAVA三大版本Java2标准版(J2SE):桌面程序(控制台开发)Java2移动版(J2ME):嵌入入式开发(手机小家电)Java2企业版(J2EE):企业级开发(web端,服务......
  • 【java】java面试高频知识点2
    1.重写重载重写:继承时对父类的方法重写该方法内容,方法类型是不变的,即返回类型,方法名字,参数都不变。值得注意的是可以改变权限,只能提高不能降低重载:是一个类中有多个名字......
  • 怎样监控java进程?
    1问题怎样实现对自己编写的java程序的监控?比如说想知道:请求的tpsjvm的内存信息,线程信息线程池的使用情况等。某段代码的执行时间常用方法就是埋点,通过代理减小业务......
  • 重学Java-第七章 Java表达式、语句和块
    7.1表达式7.1.1定义 表达式是由数字、运算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合,约束变量是在表达式中已被指定数值,......
  • 重学Java-第九章 Java循环语句
    为什么要使用循环语句,例如要在控制台打印1到5,那么就是System.out.println("1");System.out.println("2");...这样就会存在以下问题:·不灵活:需求变更就需要逐行修改·......
  • 重学Java-第八章 Java条件语句
    8.1if语句8.1.1语法​ 当需要根据给定条件来决定是否执行一段代码时,就需要用到if语句了。if块仅在布尔表达式(if括号内的表达式)为true时执行。if块的结构如下:if(条......
  • java线程的interrup、tUninterruptibles.sleepUninterruptibly和sleep、wait
    参考:(1)https://blog.csdn.net/qq_36031640/article/details/116696685(2)https://blog.csdn.net/liuxiao723846/article/details/77882011一、线程的interrupted:一个......
  • javascript放在head和body的区别以及js文件加载带来的阻塞解决
    今天在看到菜鸟教程中的HTML中的Javascript脚本代码必须位于<script>与</script>标签之间。Javascript脚本代码可被放置在HTML页面的<body>和<head>部分中......
  • java File
     CreateTime--2017年10月31日10:14:24Author:Marydonjava操作File类importjava.io.File;1.创建一个文件方式一:语法:Filefile=newFile(absolutePath);说明:只传一个参数,......