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

Java Selenium多文件上传及下载路径配置异常求助

解决ChromeDriver下载路径未指向嵌套文件夹的问题

你遇到的这个问题我之前也帮人排查过——明明设置了嵌套文件夹的下载路径,结果文件却跑到外部目录,大概率是这几个细节没处理好,我给你拆解下:

1. 路径格式的小坑

你用双反斜杠转义是对的,但可以试试换一种路径写法,Chrome对正斜杠的兼容性反而更稳,比如:

String downloadFilepath = "D:/Test/Test Documents/";

另外要确认路径末尾的斜杠不能少,少了的话Chrome可能会把最后一段当成文件名处理,而不是文件夹。

2. 确保ChromeOptions配置完整

你的代码片段没写完,要确认把配置正确绑定到Options上,还要加上几个关键的辅助配置避免弹窗干扰,完整代码应该是这样:

String downloadFilepath = "D:\\Test\\Test Documents\\";
Map<String, Object> chromePrefs = new HashMap<>();
chromePrefs.put("download.default_directory", downloadFilepath);
// 关闭下载弹窗,直接保存
chromePrefs.put("download.prompt_for_download", false);
// 如果下载PDF,避免浏览器直接打开而不保存
chromePrefs.put("plugins.always_open_pdf_externally", true);

ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);

// 初始化Driver时一定要传入这个options
WebDriver driver = new ChromeDriver(options);

3. 提前创建目标文件夹

Chrome不会自动帮你创建不存在的文件夹!如果D:\\Test\\Test Documents\\这个路径还没建,Chrome会直接忽略你的设置,默认下载到系统的Downloads文件夹里。可以加一段代码提前创建:

File downloadDir = new File(downloadFilepath);
if (!downloadDir.exists()) {
    downloadDir.mkdirs(); // 自动创建多级嵌套文件夹
}

4. 检查是否有配置冲突

如果代码里其他地方也修改了ChromeOptions的prefs,可能会覆盖你的下载路径设置。可以排查下有没有重复设置download.default_directory的地方。

先试试上面这几个步骤,应该就能把文件精准下载到你指定的嵌套文件夹里了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:31:33