【问题标题】:WebDriver - Anyway to change default download location?WebDriver - 无论如何要更改默认下载位置?
【发布时间】:2014-05-19 21:54:30
【问题描述】:

我正在使用 Selenium-webdriver + java 来自动化我的应用程序。

有什么方法可以通过 Webdriver/所需功能/任何其他方法更改浏览器的默认“下载位置”?

【问题讨论】:

    标签: java selenium-webdriver webdriver


    【解决方案1】:

    通过将browser.download.folderList 的首选项值设置为2,可以将下载位置更改为自定义下载路径,如下所示:

    FirefoxProfile profile = new FirefoxProfile();
    profile.setPreference("browser.download.folderList", 2);
    profile.setPreference("browser.download.dir", "directory_path_to_save_file");
    

    通过这样做,您可以在创建配置文件时提到的目录中下载文件。

    然后,通过传递profile 创建一个浏览器实例:

    WebDriver driver = new FirefoxDriver(profile);
    

    【讨论】:

      【解决方案2】:

      是的,有一种干净的方法可以做到这一点。您可以使用webdriverManager 设置浏览器,例如chrome,然后使用ChromeOptions 和一些DesiredCapabilities 覆盖chrome 的默认下载位置

      试试这个代码块:

          WebDriverManager.chromedriver().setup();   //This sets up chrome driver
          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);
      

      要使用WebDriverManager,你必须在你的maven项目中添加这个依赖(还有一个gradle版本):

              <dependency>
                  <groupId>io.github.bonigarcia</groupId>
                  <artifactId>webdrivermanager</artifactId>
                  <version>3.6.2</version>
              </dependency>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-16
        • 1970-01-01
        相关资源
        最近更新 更多