解决Linux平台Selenium截图中文乱码问题

时间:2024-03-04 14:34:18

Selenium Logo
通常情况下,像CentOS这样的Linux发行版默认是缺少中文字体的,所以在执行Selenium截图时,如果目标网页中有中文,则截图后中文将会显示为方块一样的乱码。
解决办法:手动安装中文字体即可。

以在CentOS 7中安装中文字体为例,操作步骤如下:

# 创建中文字体目录
mkdir -p /usr/share/fonts/chinese/

# 将字体文件拷贝到中文字体目录中
cp songti.ttf /usr/share/fonts/chinese/

cd /usr/share/fonts/chinese/

# 为刚加入的字体设置缓存使之有效
fc-cache -fv

# 查看系统中的字体
fc-list

安装好中文字体之后,再次执行Selenium截图时中文就不会显示为方块了。

上述宋体字体文件(songti.ttf,注意是ttf格式)可以从如下地址下载:
http://www.foundertype.com/index.php/FontInfo/index/id/151 方正书宋,免费字体,但是仍然需要获取书面授权才能正式商用

特别说明: 字体是有版权限制的!为了避免不必要的商业纠纷,尽量使用经过授权或者能免费商用的字体文件。
关于字体的版权介绍,可以参考:字体版权科普篇,你对字体版权了解多少?

【参考】
https://cloud.tencent.com/developer/article/1662360 给Linux安装中文字体(解决Selenium截图出现乱码框)
https://520526.xyz/971/ 分享-整理230款免费可商用的字体