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

如何在PowerShell中通过EdgeDriver设置默认下载目录

解决PowerShell + Selenium 3 设置Edge默认下载路径的问题

核心问题修正

你之前的代码错误地将prefs设置为嵌套哈希表,正确格式应直接使用"download.default_directory"作为键名对应目标路径。结合Selenium 3特性,以下是可正常运行的代码:

# 初始化EdgeOptions对象
$options = New-Object OpenQA.Selenium.Edge.EdgeOptions

# 构造正确的prefs哈希表:直接指定下载路径键值对
$downloadPrefs = @{
    "download.default_directory" = "C:\temp"
    # 可选:添加其他下载相关偏好,比如禁用下载提示
    "download.prompt_for_download" = $false
    "download.directory_upgrade" = $true
}

# 使用AddAdditionalCapability添加偏好设置(Selenium 3对应方法)
$options.AddAdditionalCapability("prefs", $downloadPrefs)

# 初始化EdgeDriver
$driver = New-Object OpenQA.Selenium.Edge.EdgeDriver($options)

关键说明

  • 偏好结构纠正:Selenium中Edge的prefs参数不需要嵌套download字典,直接使用完整配置键名(如download.default_directory)即可,逻辑和你参考的Python方案一致,仅用PowerShell哈希表替代Python字典。
  • 版本方法适配:你通过Get-Member看到的AddAdditionalCapability是Selenium 3中EdgeOptions的正确方法,Microsoft文档提到的AddAdditionalEdgeOption属于Selenium 4及以上版本,版本差异导致了文档与实际可用方法的不一致。
  • 兼容性说明:Selenium 3完全兼容EdgeChromium驱动,只要保证EdgeDriver版本与本地Edge浏览器版本一致即可,无需强制升级到Selenium 4。

额外验证步骤

  • 确认C:\temp目录已存在,若不存在可提前执行New-Item -Path "C:\temp" -ItemType Directory -Force创建。
  • 运行脚本后触发浏览器下载操作,检查文件是否保存到指定路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:23:12