之前通过 jsoup 爬取一些静态的数据都可以
最近要爬一张动态渲染的地图 jsoup 爬不出来
只能用selenuim 打开浏览器截图了
selenuim 按照过程有点小坑
不知道为什么 需要按照额外的 guava 依赖 不然就报错
// WebElement canvas = driver.findElement(By.className("show-map"));标签:canvas,java,渲染,base64,selenuim,截图,浏览器 From: https://www.cnblogs.com/bawanglong168/p/17123147.html
//
// String tt = canvas.getScreenshotAs(OutputType.BASE64);
上面是最核心的 两行代码 找到对应元素 截图 转为base64
但是这样子做很不合理,虽然可以实现 但是并不准备这样做 打开浏览器 去截图实在是太慢 太占内存 太不合理了
最后的方案是交给前端用echarts 去渲染
给他 中国的geojson 再通过接口 告诉前端那个省需要染成什么颜色
最后截图 转为base64 发到后端 我将图片存入word
虽然感觉也有问题,但是总比打开浏览器强
最好是在后端渲染 生成图片 存入word 可是没有找到对应的工具