首页 > 解决方案 > 如何通过 JSON 将动态默认下载目录属性设置为 ChromeDriver?

问题描述

我使用自己的代码启动驱动程序,因此使用下面的代码来设置默认下载目录

DesiredCapabilities caps = DesiredCapabilities.chrome();
ChromeOptions co = new ChromeOptions();
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("download.default_directory", System.getProperty("user.dir")+"\\downloads\\); -------------Dynamic Path
co.setExperimentalOption("prefs", chromePrefs);
capabilities.merge(co);

WebDriver driver = new ChromeDriver(caps);

现在我们的组织提供了一个使用他们内置驱动程序的内部框架。设置功能的唯一方法是通过 JSON 配置文件。

{
    "capabilities": {
        "browserName": "chrome",
        "browserVersion": "81",
        "chromeOptions": {
            "args": [
                "--headless"
                "--start-maximized"
            ]
        }
        "prefs": {
            "profile.default_content_settings.popups": 0,
            "download.default_directory": "C:\Users\workspace\project\downloads\" -------------Path is Static
        },
        
    }
}

硬编码下载路径并在我运行的每台机器上手动更改。有什么方法可以使这条路径与上面的动态相同?

标签: jsonseleniumselenium-webdriverselenium-chromedriverdesiredcapabilities

解决方案


推荐阅读