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

在application.properties配置下载目录后无法启动Chrome浏览器实例

问题:添加下载目录配置后ChromeDriver无法启动

我原本通过application.properties文件配置ChromeDriver的Capabilities可以正常运行,但添加"download.default_directory": "${dir.downloads}"配置项后,ChromeDriver无法启动。

配置代码

dir.currentdirectory= ${expr:java.lang.System.getProperty("user.dir")}
dir.screenshots = ${dir.currentdirectory}\resources\screenshots
dir.downloads = ${dir.currentdirectory}\resources\downloads 
chrome.additional.capabilities={"browserName":"chrome","goog:chromeOptions": {"args": ["start-maximized", "--disable-popup-blocking", "disable-infobars", "--disable-extensions"], "extensions": [], "prefs": {"download.directory_upgrade": "true", "download.default_directory": "${dir.downloads}", "download.prompt_for_download": "false", "safebrowsing.enabled":"true"}}}

调试代码

我通过以下代码获取配置字符串,显示值看似正确,但仍无法定位驱动启动失败的原因:

String myString = getBundle().getString("chrome.additional.capabilities");
System.out.println("=============="+myString);

问题分析与解决方案

  • 变量替换时机问题:JSON结构内的${dir.downloads}可能未被正确替换为实际路径。ChromeDriver接收到的是未解析的变量字符串,而非合法的目录路径,导致启动失败。需要确保配置加载时,变量替换在JSON解析之前完成。
  • 路径转义问题:Windows系统下的路径反斜杠\在JSON中属于转义字符,未转义的话会导致路径解析错误。可以将路径中的\替换为\\,或者直接使用正斜杠/(ChromeDriver在Windows环境下兼容正斜杠路径)。修改后的路径配置示例:
    dir.downloads = ${dir.currentdirectory}/resources/downloads
    
  • JSON合法性验证:确认最终输出的chrome.additional.capabilities是完全合法的JSON,其中download.default_directory对应的值应为实际的本地目录路径,而非变量占位符。

内容的提问来源于stack exchange,提问作者Sri Siva batchu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 01:00:04