服务端浏览器截屏是结合 selenium + html2canvas 实现的通过在 Chrome 环境下生成图片。
selenium是最广泛使用的开源Web UI自动化测试套件之一。本文中使用selenium的PythonSKD,通过代码段完成对selenium的操作。
html2canvas是一个js库,可以实现在浏览器上截取网页或其一部分的“屏幕快照”。
总体思路是通过在服务端搭建chromedriver环境,利用selenium实现打开网页,运行js等一系列动作。然后通过注入html2convas的js代码,完成获取当前页浏览器任意dom元素图片。通过这种方式,可以在服务端截取任意网页区域。本文主要介绍在Linux环境下通过各种工具的组合,实现截取任意区域生成图片的方法,其他系统下方法类似。
环境准备
chromedriver 安装
首先需要安装浏览器内核环境,可以在官网https://chromedriver.chromium.org下载需要的版本。如果Linux没有中文字体,需要安装中文字体,避免网页乱码。
selenium 安装
pip install selenium
html2canvas
可以访问h