有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我在selenium测试中使用WebDriverManager.chromedriver().setup();获取chrome属性。它很好用。我试图通过更改chrome browser的默认下载位置来下载文件,因为我想将文件下载到我的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依赖关系及其一些实现做了一些研究,但没有发现任何有用的东西。有没有更好的方法来实现上述目标


共 (1) 个答案

  1. # 1 楼答案

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

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