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

使用Selenium时Chromedriver因多文件下载弹窗中断如何绕过

Selenium绕过Chrome多文件下载弹窗方案

你遇到的是Chrome默认的多文件下载权限校验弹窗,可通过提前配置浏览器参数直接禁用,无需额外的弹窗拦截逻辑,具体实现如下:

触发的弹窗样式参考:
「站点想要下载多个文件」弹窗

方法1:初始化WebDriver时配置首选项(推荐)

通过Chrome的prefs参数提前配置自动下载权限,完全规避弹窗触发:

  • Python实现示例:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
prefs = {
    # 允许所有站点自动下载多个文件,0=询问 1=允许 2=禁止
    "profile.default_content_setting_values.automatic_downloads": 1,
    # 可选配置:指定默认下载路径,避免弹出下载路径选择弹窗
    "download.default_directory": "/Users/xxx/Downloads/your_target_path"
}
chrome_options.add_experimental_option("prefs", prefs)

driver = webdriver.Chrome(options=chrome_options)
  • Java实现示例:
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import java.util.HashMap;

public class DownloadTest {
    public static void main(String[] args) {
        ChromeOptions options = new ChromeOptions();
        HashMap<String, Object> prefs = new HashMap<>();
        prefs.put("profile.default_content_setting_values.automatic_downloads", 1);
        prefs.put("download.default_directory", "C:\\Users\\xxx\\Downloads\\your_target_path");
        options.setExperimentalOption("prefs", prefs);
        ChromeDriver driver = new ChromeDriver(options);
    }
}

方法2:复用现有浏览器实例的场景

如果你是通过debug端口复用已经手动打开的Chrome浏览器,可直接在浏览器地址栏输入chrome://settings/content/automaticDownloads,将默认行为修改为允许站点下载多个文件即可,后续操作不会再触发该弹窗。

注意:如果配置后弹窗仍然触发,请核对Chrome浏览器版本和Chromedriver版本是否一致,大版本差超过1的情况下可能导致配置项不生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:45:03