You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Headless Selenium时浏览器阻止文件下载的问题求助

解决Chrome阻止Selenium自动化下载文件的问题

Chrome会默认拦截自动化工具发起的下载请求,仅修改User-Agent通常不足以解决问题,你需要配置Chrome的下载偏好及安全选项,以下是调整后的完整代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
import time

def getting_file(URL):
    page = Options()
    page.headless = False
    
    # 配置下载核心偏好:自动下载、不弹提示、指定路径
    prefs = {
        "download.default_directory": "你的本地下载路径",  # 替换为实际路径,如"C:/Downloads"或"/Users/xxx/Downloads"
        "download.prompt_for_download": False,
        "download.directory_upgrade": True,
        "safebrowsing.enabled": True
    }
    page.add_experimental_option("prefs", prefs)
    
    # 添加绕过下载拦截的参数
    page.add_argument("--safebrowsing-disable-download-protection")
    page.add_argument("--disable-popup-blocking")
    page.add_argument("--disable-extensions")
    
    # 添加真实浏览器User-Agent(匹配当前Chrome版本更佳)
    page.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36")
    
    service = Service(ChromeDriverManager().install())
    driver = webdriver.Chrome(service=service, options=page)
    
    # 修正原代码变量名不一致问题:参数是URL,调用时统一用大写
    driver.get(URL)
    driver.get("https://www.rtm.selic.gov.br/extrato-selic-web/pesquisa-extrato-diario-asel.jsp?bust=1662995259495")
    time.sleep(5)
    driver.find_element(By.CSS_SELECTOR, "tr:nth-child(2) .linkAcao").click()
    time.sleep(5)
    driver.quit()  # 用quit()替代close(),确保完全终止Chrome进程

关键配置说明:

  • download.prompt_for_download: 设为False,直接跳过下载确认弹窗
  • --safebrowsing-disable-download-protection: 关闭Chrome针对自动化工具的下载保护拦截
  • 固定download.default_directory: 避免文件散落在默认路径,方便后续查找处理
  • 修正变量名:原代码中函数参数URL和内部调用的url大小写不一致,会触发未定义错误

内容的提问来源于stack exchange,提问作者user18462482

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 07:40:27