Skip to main content
Home
  • Tutorials
    • Quality Assurance
    • Software Development
    • Machine Learning
    • Data Science
  • About Us
  • Contact
programsbuzz facebook programsbuzz twitter programsbuzz linkedin
  • Log in

Main navigation

  • Tutorials
    • Quality Assurance
    • Software Development
    • Machine Learning
    • Data Science
  • About Us
  • Contact

Selenium Change Download Directory Chrome

Profile picture for user arilio666
Written by arilio666 on 02/02/2022 - 10:52

When we hit that download button in every browser, a download popup appears, and the file gets saved in a default location called downloads. This is a pretty common scenario for download and its download path.

What if I want the download to happen in another place?

  • Selenium download path is also the same as the local download path it saves in the downloads folder.
  • Selenium can change the default download directory.
  • When done manually, it is useless as the driver always opens up with default settings.
  • It won't be the same as when we made the change.
  • So it has to be in the programming level change.

Let's say I want the file in my project directory.

How can we do that?

We can achieve this by using the chromeoptions class.

Today for this article purpose, we will download the edge driver and save it in our project folder where chromedriver is present.

public class ChromeDirectory
{
    public static void main(String[] args) 
    {
        System.setProperty("webdriver.chrome.driver", "D:\\Work_Stuff\\ChromeDriver\\chromedriver.exe");

        Map<String, Object> prefs = new HashMap<String, Object>();
        prefs.put("download.default_directory",System.getProperty("user.dir") + File.separator + "ChromeDriver" + File.separator + "BrowserDownloadedFiles");
        
        ChromeOptions options = new ChromeOptions();
        options.setExperimentalOption("prefs", prefs);
        
        ChromeDriver driver= new ChromeDriver(options);
        driver.get("https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/");
        
        WebElement downLoad = driver.findElement(By.xpath("//a[@aria-label='x64 stable channel, version 97.0.1072.76']"));
        downLoad.click();
    }
}
  • First, we are initializing the chromedriver path.
  • Also, we are creating an object called prefs in the form of a hashmap.
  • We put some keys and values into prefs. In this case, we are adding the syntax meant to change the download path matching chromeoptions.
  • The path user.dir delivers the current path.
  • The object for chromeoptions is now created with object name options and using that options. We set experimental options to prefs as it contains the path and initializing.
  • Pass it to that and declare the driver object to invoke the selenium methods to access it.
  • Once we click download now, the options object, which we can call chromeoptions, directly maps to the prefs path we provided and save the downloaded file into that path.
  • File.separator is used as this will support other OS platforms too.

Related Content
Selenium Tutorial
Selenium Maven Dependency or JAR Files
Create framework or structure for Selenium Project
Tags
Selenium with Java
  • Log in or register to post comments

Choose Your Technology

  1. Agile
  2. Apache Groovy
  3. Apache Hadoop
  4. Apache HBase
  5. Apache Spark
  6. Appium
  7. AutoIt
  8. AWS
  9. Behat
  10. Cucumber Java
  11. Cypress
  12. DBMS
  13. Drupal
  14. GitHub
  15. GitLab
  16. GoLang
  17. Gradle
  18. HTML
  19. ISTQB Foundation
  20. Java
  21. JavaScript
  22. JMeter
  23. JUnit
  24. Karate
  25. Kotlin
  26. LoadRunner
  27. matplotlib
  28. MongoDB
  29. MS SQL Server
  30. MySQL
  31. Nightwatch JS
  32. PactumJS
  33. PHP
  34. Playwright
  35. Playwright Java
  36. Playwright Python
  37. Postman
  38. Project Management
  39. Protractor
  40. PyDev
  41. Python
  42. Python NumPy
  43. Python Pandas
  44. Python Seaborn
  45. R Language
  46. REST Assured
  47. Ruby
  48. Selenide
© Copyright By iVagus Services Pvt. Ltd. 2023. All Rights Reserved.

Footer

  • Cookie Policy
  • Privacy Policy
  • Terms of Use