python - 使用 Selenium WebDriver 截屏,同时保持 html (python) 的字体
问题描述
我正在尝试使用 Selenium WebDriver 从包含不同字体的 html 文件中生成图像。但是当我截取屏幕截图时,我得到的图像总是返回相同的字体,但不是在 html 文件中使用相同的字体。有谁知道如何处理这个问题?
python 中的代码示例
html 中的字体:Parkavenue,草书,但我们从屏幕截图中获得的图像中的字体是Arial。
## python
html ="""
<html>
<head>
<style>
html{background-color: white}
table{font-family:Parkavenue, cursive, serif;text-align:center;border-collapse:inherit; border-spacing: 0}
td,th{width: 339px; height : 50px;border:3px dotted black;}
</style>
</head>
<body>
<table>
<tr><th rowspan="2"><span id=4>shipments % S.A. sher,AD.; common </span></th>
<th colspan=3><span id=5>% </span></th>
<th rowspan="2"><span id=6>.KAZG.O.,,, C AND S.A. </span></th>
</tr><tr><th colspan=0><span id=7>WARD, S.L. </span></th>
<th colspan=0><span id=8>Gross body Buena Contains   AT   Sciences surface </span></th></tr>
</table>
</body>
</html>
"""
driver = Firefox()
driver.get("data:text/html," + html)
png = driver.get_screenshot_as_png()
解决方案
尝试这个:
sudo apt-get install fonts-unfonts-core
sudo apt-get install fonts-unfonts-extra
sudo apt-get update
sudo apt-get upgrade
sudo apt -f install
为我解决了字体问题,但我仍然无法渲染一些像希伯来语这样的字体,所以我想这不是完美的解决方案
推荐阅读
- python-3.x - Python pip install tesseract-ocr 失败
- serial-communication - 如何使用带有声学调制解调器的串行端口发送图像?
- c# - Unity 中的 XML 对话树无法正确解析信息
- loops - 如何在保持 tkinter 页面打开的同时创建一个 while true 循环?
- php - Laravel Eloquent 收集配对项目
- javascript - ReactJS [生产问题] - TypeError: (void 0) is not a function
- java - Android Firebase 显示当前登录的用户详细信息
- scala - 改进逻辑以在给定的 string1 上查找循环旋转可以产生 string2
- java - DynamoDBLocal 测试中的错误:com.almworks.sqlite4java.SQLiteException:[-91] 无法加载库:java.lang.UnsatisfiedLinkError
- python - InvalidBSON 消耗游标并引发 StopIteration。如何跳过坏文档?