首页 > 解决方案 > 使用 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 &nbsp AT &nbsp Sciences surface </span></th></tr>
        </table>
    </body>
</html>
"""
driver = Firefox()

driver.get("data:text/html," + html)
png = driver.get_screenshot_as_png()

image_screenshot

标签: pythonselenium-webdriverfonts

解决方案


尝试这个:

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

为我解决了字体问题,但我仍然无法渲染一些像希伯来语这样的字体,所以我想这不是完美的解决方案


推荐阅读