问题背景,用selenium做了一个网页截图的小功能,截出来的图片中有许多框框,这是因为linux缺少中文字体导致的。

安装字体(可能需要root权限)
mkdir -p /usr/share/fonts/chinese/ #创建中文字体目录
cp songti.ttf /usr/share/fonts/chinese/ #将字体文件拷贝到/usr/share/fonts/chinese/中
cd /usr/share/fonts/chinese/
fc-cache -fv #为刚加入的字体设置缓存使之有效
fc-list #查看系统中的字体
宋体字体
链接: https://pan.baidu.com/s/1kqXoMo-mwhtgAn6_dXJQcg 密码: a5c9
安装好字体,就没有框框了。

完整网页的正文截图,可以用下面的代码:
S = lambda X: driver.execute_script('return document.body.parentNode.scroll' + X)
driver.set_window_size(S('Width'), S('Height'))
driver.save_screenshot(save_path)
网友评论