Selenium - Edge (Chromium) 浏览器 - 设置默认下载路径的直接选项
Posted
技术标签:
【中文标题】Selenium - Edge (Chromium) 浏览器 - 设置默认下载路径的直接选项【英文标题】:Selenium - Edge (Chromium) browser - Direct option to set default download path 【发布时间】:2020-08-19 20:46:52 【问题描述】:有没有一种直接的方法来设置 Edge (Chromium) 浏览器的默认下载路径,就像我们为 chrome、firefox 浏览器设置的那样
示例 sn-p(用于 chrome):
映射首选项 = new HashMap(); pref.put("download.default_directory", "下载路径");
ChromeOptions 选项 = new ChromeOptions(); options.setExperimentalOption("prefs", pref);
【问题讨论】:
prefs = "profile.default_content_settings.popups": 0, "download.default_directory": r"C:\Users\user_dir\Desktop\\", "directory_upgrade": True options.add_experimental_option ("prefs", prefs) return webdriver.Chrome(executable_path=Base.chromedriver_dir, chrome_options=options) 【参考方案1】:这里我假设您使用的是 Edge Chromium 浏览器的最新稳定版本。
我正在向您展示 C# 项目的示例。
建议你添加对Microsoft.Edge.SeleniumTools的引用
using Microsoft.Edge.SeleniumTools;
namespace selenium_IE_automation
class Program
static void Main(string[] args)
var options = new EdgeOptions();
options.UseChromium = true;
options.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"; // Here add the Edge browser exe path.
options.AddUserProfilePreference("download.default_directory", @"D://"); // Here add the download path.
var driver = new EdgeDriver(@"D:\D drive backup\selenium web drivers\edgedriver_win64 81.0.416.68", options); // Here add the selenium web driver path.
输出:
参考资料:
-
Set download directory via WebDriver
Selenium Tools for Microsoft Edge
注意:如果您正在使用任何其他语言进行开发,那么您可以尝试将上述代码转换为该语言以使其工作。
编辑:
这是使用 JAVA 语言的示例。它使用 Selenium 4。
此解决方案已使用 MS Edge Chromium 81.0.416.72 版本进行测试。
public class new_java_class
public static void main(String[] args)
System.setProperty("webdriver.edge.driver","D:\\D drive backup\\selenium web drivers\\edgedriver_win64 81.0.416.72\\msedgedriver.exe");
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("download.default_directory",
System.getProperty("user.dir") + File.separator + "externalFiles" + File.separator + "downloadFiles");
EdgeOptions op=new EdgeOptions();
op.setExperimentalOption("prefs", prefs);
WebDriver browser = new EdgeDriver(op);
browser.get("https://microsoft.com");
【讨论】:
设置'UseChromium = true;'选项在 java 版本中不起作用。Selenium 3.x 还有其他方法吗? 我尝试参考文档,它只显示了为 C# 和 Python 实现这个库的方法。我没有办法将此库添加到 JAVA 项目中。我在文档中注意到此功能默认添加到 Selenium 4。因此,如果您可以使用 Selenium 4,那么它可能有助于解决此问题。 请看我更新的答案。我已经分享了使用 Selenium 4 为 Edge Chromium 浏览器设置默认下载文件夹的 JAVA 语言示例。如果您还有其他问题,请告诉我。感谢您的理解。 有人用python成功过吗?【参考方案2】:从 selenium 4 开始,无需导入 Microsoft.Edge.SeleniumTools,Microsoft.Edge.SeleniumTools
中的函数已经是 selenium 4 边缘选项的一部分
【讨论】:
以上是关于Selenium - Edge (Chromium) 浏览器 - 设置默认下载路径的直接选项的主要内容,如果未能解决你的问题,请参考以下文章
使用C#+Edge (Chromium)进行Web自动化测试