webdrivernager依赖项是否有可用于覆盖默认浏览器下载位置的实现



我在硒测试中使用WebDriverManager.chromedriver().setup();来获取铬属性。它运行良好。我试图通过更改chrome浏览器的默认下载位置来下载文件,因为我想将文件下载到我的java项目类路径,而不是本地机器,但我不确定WebDriverManager是否有这样的实现。目前,我正在尝试这样的东西:

WebDriverManager.chromedriver().setup();
String downloadDir = System.getProperty("user.dir");
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("download.default_directory", downloadDir);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(ChromeOptions.CAPABILITY, options);
driver = new ChromeDriver(cap);

正如预期的那样,代码块可以工作并将文件下载到项目类路径,但我认为有一种更干净、更短的方法可以做到这一点。我已经对BonigarciaWebDriverManager依赖关系及其一些实现进行了一些研究,但找不到任何帮助。有没有更好的方法来实现上述目标?

使用方法targetPath()更改WebDriverManager下载的驱动程序的默认位置:

WebDriverManager.chromedriver().targetPath("/my/custom/path").setup();

最新更新