设置 Selenium ChromeDriver 用户首选项以另存为 PDF

问题描述 投票:0回答:1

我正在使用 ChromeDriver 2.33,并使用自助服务终端打印来自动单击“打印预览”对话框上的“打印”按钮,但它将文档而不是 PDF 发送到打印机。

我尝试了这个堆栈溢出问题的解决方案,但没有成功。

这是我正在使用的代码:

ChromeOptions o = new ChromeOptions();
o.AddArgument("--kiosk-printing");
o.AddUserProfilePreference("printing.print_preview_sticky_settings.appState", "{\"version\":2,\"isGcpPromoDismissed\":false,\"selectedDestinationId\":\"Save as PDF\"");
chrome = new ChromeDriver(dir, o);

谁能告诉我如何将打印机从实际打印机设置为 PDF?

selenium selenium-webdriver selenium-chromedriver
1个回答
6
投票

尝试在

Save as PDF
上添加
recentDestinations

import json
settings = {
    "appState": {
        "recentDestinations": [{
            "id": "Save as PDF",
            "origin": "local"
        }],
        "selectedDestinationId": "Save as PDF",
        "version": 2
    }  
}
prefs = {'printing.print_preview_sticky_settings': json.dumps(settings)}
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option('prefs', prefs)
chrome_options.add_argument('--kiosk-printing')

driver = webdriver.Chrome(chrome_options=chrome_options)
© www.soinside.com 2019 - 2024. All rights reserved.