目录
背景
在开发业务系统时有如下需求:需要后台生成一份图片报告,图片中包含mapbox、echarts、highcharts、文本等信息,还需要注意格式框架等。如果后端生成比较费事,不太好生成。
面对上述需求想到了后端服务控制浏览器打开页面截图的方式解决,然后朝着这个方向努力。接触到了chrome + chromedriver + selenium 的技术去实现(chatGPT推荐)。以下就是爬坑之旅:
初期尝试
- 首先在自己本地(windows坏境)尝试,打开(www.XXX.com)网址然后截图,可以成功。—(此处国内相关文档即可支撑不赘述)方向更加坚定了!!!
chrome+chromedriver
版本依赖关系见: 地址
Docker环境部署
- 项目的基础镜像是选用alpine的需要使用apk命令去安装相关的软件,此时的Dockerfile文件见下
FROM anapsix/alpine-java:8_server-jre_unlimited
EXPOSE 8915
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
&& apk add tzdata \
&& apk add --no-cache libexif \
&& apk add --no-cache udev \
&& apk add --no-cache chromium \
&& apk add --no-cache chromium-chromedriver \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& apk del tzdata \
&