在 chrome 中自动打印/保存网页为 pdf - python 2.7

Die*_*ego 8 html automation pdf-generation python-2.7

我正在尝试在 chrome 中自动打印保存网页为 pdf。

我已经检查了 webbrowser 模块,但它似乎不是用于此目的。

我探索了 wkhtmltopdf 作为替代方案,但在下载文件时,它似乎被病毒感染了。

感谢您的建议。

Ros*_* II 9

这对我在 Windows 7 x64 上使用 Chrome 62.0.3202.94、ChromeDriver 2.33.506120、Selenium 3.4.3 和 Python 2.7.14 或 3.6.3 有效:

import json
from selenium import webdriver

appState = {
    "recentDestinations": [
        {
            "id": "Save as PDF",
            "origin": "local",
            "account": ""
        }
    ],
    "selectedDestinationId": "Save as PDF",
    "version": 2
}

profile = {'printing.print_preview_sticky_settings.appState': json.dumps(appState)}

chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option('prefs', profile)
chrome_options.add_argument('--kiosk-printing')

driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get('https://www.google.com/')
driver.execute_script('window.print();')
Run Code Online (Sandbox Code Playgroud)

  • 相同的脚本在“headless”模式下不起作用。知道为什么吗? (4认同)
  • 使用最新版本的Chrome(78.0.3904.108),需要在`"recentDestinations"`中添加`"account": ""`。 (2认同)

Die*_*ego 2

我能够找到一个可能的解决方案。

该代码将 html 文件保存为 pdf,这是我的最终目标。

原帖是:

Python + Selenium + PhantomJS 渲染为 PDF

最好的。