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

如何用Selenium VBA设置Edge浏览器文件下载自定义路径

在VBA中使用Selenium Edge设置自定义下载路径

要实现自定义下载路径,你需要通过Edge的Chromium配置项指定下载目录,以下是具体实现方案:

核心配置逻辑

Edge基于Chromium内核,兼容Chrome的配置参数,我们需要创建配置对象并设置下载相关偏好:

  • 指定自定义下载路径
  • 禁用下载弹窗
  • 自动确认下载操作

修改后的完整代码

Dim c As Selenium.WebDriver
Dim edgeOptions As Selenium.ChromeOptions
Set edgeOptions = New Selenium.ChromeOptions

' 配置下载偏好参数
With edgeOptions
    ' 自定义下载路径(VBA中反斜杠需写两个,或改用正斜杠)
    .AddArgument "--download.default_directory=C:\\Users\\folder"
    ' 禁用下载弹窗
    .AddArgument "--profile.default_content_settings.popups=0"
    ' 自动确认下载,不弹出询问框
    .AddArgument "--download.prompt_for_download=false"
End With

Set c = New Selenium.WebDriver
' 用配置好的参数启动Edge
c.Start "edge", edgeOptions
c.Get "https://......"  ' 公司内部网站地址
c.Window.Maximize

c.ExecuteScript ("window.scrollTo(0, document.body.scrollHeight);")
c.Wait (3000)

c.FindElementByXPath("//*[@id='ctl00_ctl40_g_01b3ceb6_dac0_4ca9_a746_e3189ac6706d_ctl00_spgvInvoiceList_ctl03_imageButtonShowPDF']").Click   ' 点击下载按钮

' 可选:根据文件大小调整等待时间,确保下载完成
c.Wait (5000)

c.Quit
Set c = Nothing
Set edgeOptions = Nothing
End Sub

额外注意事项

  1. 路径有效性:确保指定的C:\\Users\\folder路径已存在,若不存在可提前用VBA创建:
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FolderExists("C:\Users\folder") Then
        fso.CreateFolder "C:\Users\folder"
    End If
    Set fso = Nothing
    
  2. 版本兼容:确保使用的Selenium VBA绑定支持Chromium Edge(建议安装最新版SeleniumBasic)
  3. 文件类型适配:上述配置对.xls文件完全适用,无需额外调整文件类型参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 09:39:27