0


selenium调用浏览器打印功能,并保存为PDF

前言

在使用selenium处理浏览器功能时,无法正常检测到或无法定位到你想处理的功能。
而浏览器的启动参数可以帮我们实现很多功能。

点击查看——Chrome浏览器启动命令行参数大全

功能详情

代码如下(示例):

# -*- coding: UTF8 -*-import json
from selenium import webdriver

#设置打印机的纸张大小、打印类型、保存路径等
chrome_options = webdriver.ChromeOptions()
    settings ={"recentDestinations":[{"id":"Save as PDF","origin":"local","account":""}],"selectedDestinationId":"Save as PDF","version":2,"isHeaderFooterEnabled":False,# "customMargins": {},#"marginsType": 2,#边距(2是最小值、0是默认)# "scaling": 100,# "scalingType": 3,# "scalingTypePdf": 3,#"isLandscapeEnabled": True,  # 若不设置该参数,默认值为纵向"isCssBackgroundEnabled":True,"mediaSize":{"height_microns":297000,"name":"ISO_A4","width_microns":210000,"custom_display_name":"A4"},}

    chrome_options.add_argument('--enable-print-browser')# chrome_options.add_argument('--headless') #headless模式下,浏览器窗口不可见,可提高效率
    prefs ={'printing.print_preview_sticky_settings.appState': json.dumps(settings),'savefile.default_directory':'C:\\Users\\admin\\Desktop'# 此处填写你希望文件保存的路径,可填写your file path默认下载地址}

    chrome_options.add_argument('--kiosk-printing')# 静默打印,无需用户点击打印页面的确定按钮
    chrome_options.add_experimental_option('prefs', prefs)

    driver = webdriver.Chrome("../chromedriver.exe", options=chrome_options)
    driver.get('https://www.cnblogs.com/new-june/p/14509601.html')
    driver.maximize_window()#浏览器最大化
    driver.execute_script('document.title="my_test_file3.pdf";window.print();')# 利用js修改网页的title,该title最终就是PDF文件名,利用js的window.print可以快速调出浏览器打印窗口,避免使用热键ctrl+P# driver.close()#关闭当前页
    driver.quit()

点击查看——Chrome浏览器启动命令行参数大全

标签: python selenium chrome

本文转载自: https://blog.csdn.net/weixin_42333581/article/details/124382171
版权归原作者 一目知之 所有, 如有侵权,请联系我们删除。

“selenium调用浏览器打印功能,并保存为PDF”的评论:

还没有评论