解决selenium使用chrome下载文件(如pdf)时,反而打开浏览器的预览界面

文章目录

解决方法

在初始化浏览器的时候,添加以下配置即可:

py 复制代码
    option = webdriver.ChromeOptions()
    prefs = {
        "profile.managed_default_content_settings.images": 2,  # 禁止加载图片
        # 'permissions.default.stylesheet': 2,  # 禁止加载css
        # ====== 配置下载 =====
        'profile.default_content_settings.popups': 0,  # 取消下载确认弹窗
        # 默认下载路径
        'download.default_directory': r"C:\Users\User4\Downloads", # 这个是自定义的下载路径
        "profile.default_content_setting_values.automatic_downloads": 1,  # 允许多文件下载
        "download.prompt_for_download": False,  # To auto download the file
        "download.directory_upgrade": True,
        "plugins.always_open_pdf_externally": True
    }
    option.add_experimental_option("prefs", prefs)
    browser = webdriver.Chrome(options=option)

完整的配置

使用如下程序初始化,可以避免很多问题:

py 复制代码
from selenium import webdriver
def get_browser():
    option = webdriver.ChromeOptions()
    option.add_argument('--disable-gpu')
    option.add_argument('lang=zh_CN.UTF-8')
    # option.add_argument('headless')  # 无界面
    prefs = {
        "profile.managed_default_content_settings.images": 2,  # 禁止加载图片
        # 'permissions.default.stylesheet': 2,  # 禁止加载css
        # ====== 配置下载 =====
        'profile.default_content_settings.popups': 0,  # 取消下载确认弹窗
        # 默认下载路径
        'download.default_directory': r"C:\Users\User4\Downloads",
        "profile.default_content_setting_values.automatic_downloads": 1,  # 允许多文件下载
        "download.prompt_for_download": False,  # To auto download the file
        "download.directory_upgrade": True,
        "plugins.always_open_pdf_externally": True
    }
    option.add_experimental_option("prefs", prefs)
    browser = webdriver.Chrome(options=option)
    browser.implicitly_wait(10)  # 等待元素最多10s
    browser.set_page_load_timeout(10)  # 页面10秒后强制中断加载
    return browser

在需要下载文件时,只需要直接browser.get(网络文件URL)即可直接下载文件到配置的"C:\Users\User4\Downloads"路径下:

py 复制代码
    browser = get_browser()
	browser.get("http://xxxx/xxx.pdf") # 这里会直接下载
相关推荐
北风toto14 小时前
Shell脚本(.sh)常用语法全解析:从入门到实战
前端·chrome
DFT计算杂谈14 小时前
WannierTools输入文件wt.in一键批量生成脚本
java·前端·chrome·python·算法·conda
2501_9071368215 小时前
批量改发票pdf名称为金额+发票号码+销售方,方便金额核对
pdf
li星野16 小时前
从 PDF 到 FAISS 向量索引:构建本地 RAG 数据预处理流水线
pdf·faiss
selfboot016 小时前
已知 PDF 密码,如何免费去掉密码保护并保存无密码副本
pdf
Pearson17 小时前
特大pdf文件在线预览技术方案
javascript·nginx·pdf
zyplayer-doc18 小时前
知识库官方CLI工具已发布并开源,以及重写思维导图编辑器,提供更完整的编辑能力,zyplayer-doc 2.6.6 发布啦!
人工智能·安全·pdf·编辑器·创业创新
庖丁AI18 小时前
PDF转Markdown工具怎么选?AI知识库和RAG场景要注意什么
人工智能·pdf·格式转换
无限进步_2 天前
从零实现一个迷你Shell——深入理解Linux命令行解释器
linux·运维·服务器·开发语言·c++·chrome
2601_961875242 天前
高考真题电子版|2025高考全科真题分类PDF
金融·pdf·云计算·azure·七牛云存储·交友·高考