解决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") # 这里会直接下载
相关推荐
AI炼金师16 分钟前
Chrome 中的 Claude 入门指南
前端·chrome
德迅云安全—珍珍17 分钟前
2025 年 Chrome 浏览器 0Day 漏洞全面分析:八大高危漏洞遭利用
前端·chrome
极智-99627 分钟前
pdf怎么打开?【图文详解】免费的pdf阅读编辑器?pdf文件转换?
pdf·pdf转换·pdf转word·pdf编辑·pdf文件怎么打开·pdf阅读编辑·pdf文件阅读
用户479492835691517 小时前
你每天都在用的 JSON.stringify ,V8 给它开了“加速通道”
前端·chrome·后端
沐泽__17 小时前
iframe内嵌页面双向通信
前端·javascript·chrome
maogewang19 小时前
清朝条约史料三册合辑:从尼布楚到辛丑条约的完整 PDF 文献汇编
pdf
A132470531220 小时前
SSH远程连接入门:安全高效地管理服务器
linux·运维·服务器·网络·chrome·github
开开心心就好1 天前
版本转换工具,支持Win双系统零售批量版
linux·运维·服务器·pdf·散列表·零售·1024程序员节
川川菜鸟1 天前
谷歌安全告警(Chrome 红页)完整处理指南
数据库·chrome·安全
QT 小鲜肉1 天前
【Linux命令大全】001.文件管理之diff命令(实操篇)
linux·运维·chrome·笔记