from msedge.selenium_tools import Edge, EdgeOptions
import json
# Launch Microsoft Edge (Chromium)
options = EdgeOptions()
options.use_chromium = True
settings = {
"recentDestinations": [{
"id": "Save as PDF",
"origin": "local",
"account": ""
}],
"selectedDestinationId": "Save as PDF",
"version": 2,
"isHeaderFooterEnabled": False,
"mediaSize": {
"height_microns": 297000,
"name": "ISO_A4",
"width_microns": 210000,
"custom_display_name": "A4"
},
"customMargins": {},
"marginsType": 2,
"isCssBackgroundEnabled": True
}
prefs = {'printing.print_preview_sticky_settings.appState': json.dumps(settings),
'savefile.default_directory': r'D:\Learn\WeasyPrint'}
options.add_experimental_option('prefs', prefs)
options.add_argument('--kiosk-printing')
driver = Edge(options = options)
driver.get("http://www.ruanyifeng.com/blog")
driver.execute_script('document.title="PDF文件名";window.print();')
driver.quit()
参考资料:
模拟谷歌浏览器打印pdf功能_半城繁華半城傷的博客-CSDN博客
https://stackoverflow.com/questions/56897041/how-to-save-opened-page-as-pdf-in-selenium-python