admin 管理员组文章数量: 887006
前言
在使用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://wwwblogs/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浏览器启动命令行参数大全
版权声明:本文标题:selenium调用浏览器打印功能,并保存为PDF 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729175574h1327236.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论