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

设置se:downloadsEnabled时触发SessionNotCreatedException问题求助

解决Selenium Grid配置下载时SessionNotCreatedException问题

问题分析

添加options.setCapability("se:downloadsEnabled", true)后触发SessionNotCreatedException,说明该Grid专属能力与当前Chrome配置或节点环境不兼容。se:downloadsEnabled是Selenium 4 Grid用于统一管理下载的能力,但如果节点未正确配置下载目录、权限,或者与Chrome原生偏好设置冲突,就会导致会话启动失败。

解决方案

方案1:移除Grid专属下载能力,用Chrome原生偏好配置

直接通过Chrome的prefs配置下载行为,无需依赖se:downloadsEnabled,这种方式兼容性更强:

if (browser.equalsIgnoreCase("chrome")) {
    ChromeOptions options = new ChromeOptions();
    options.setCapability("platformName", Platform.LINUX);
    HashMap<String, Object> chromePref = new HashMap<>();
    chromePref.put("plugins.always_open_pdf_externally", true);
    chromePref.put("download.prompt_for_download", false);
    chromePref.put("safebrowsing_for_trusted_sources_enabled", false);
    // 指定Linux节点上可写的下载目录,需确保该目录存在且Chrome进程有权限读写
    chromePref.put("download.default_directory", "/tmp/downloads");
    options.setExperimentalOption("prefs", chromePref);
    driver = new RemoteWebDriver(new URL("http://localhost:4444/"), options);
}

注意:在Grid节点服务器上创建指定目录并赋予权限:

mkdir -p /tmp/downloads
chmod 777 /tmp/downloads

方案2:保留se:downloadsEnabled并配置Grid节点

如果必须使用Grid的下载管理能力,需确保节点启动时指定下载目录,且客户端与节点的Selenium版本一致(均为4.9.0):

  1. 启动Grid节点时添加下载目录参数:
java -jar selenium-server-4.9.0.jar node --downloads-dir /tmp/downloads
  1. 保持代码中的se:downloadsEnabled配置,同时确认节点服务器的/tmp/downloads目录权限正确。

  2. 访问Grid控制台(http://localhost:4444/ui)查看节点状态,确认节点已注册下载能力且无报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 12:15:09