Please find the below code with the chrome capabilities. In fact the browser is not downloading the file to the specified path.
private static DesiredCapabilities getChromeCapabilities() throws Exception {
String chromePath = BrowserUtil.class.getResource("/Browserdrivers/chromedriver.exe").getPath();
System.setProperty("webdriver.chrome.driver", chromePath);
String downloadFilepath = "C:\\TestDownloads";
ChromeOptions options = new ChromeOptions();
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", downloadFilepath);
options.setExperimentalOption("prefs", chromePrefs);
options.addArguments("--test-type");
options.addArguments("start-maximized", "disable-popup-blocking");
DesiredCapabilities chromeCapabilities = DesiredCapabilities.chrome();
setProxy(chromeCapabilities);
chromeCapabilities.setPlatform(Platform.WINDOWS);
chromeCapabilities.setCapability("name", MDC.get("testname"));
chromeCapabilities.setCapability(ChromeOptions.CAPABILITY, options);
return chromeCapabilities;
}
To make it more clean and easy, I developed a library which lets you generate a ChromeOptions object which contains your download folder in one line. For example, to define "/tmp/downloads", use:
The library also contains methods which allow to receive download KPI and perform assertion.
For Chromedriver try out with:
Note:- In windows you need to use \\ for path while if you are using linux or mac then use //
Hope this helps. :)
The ans which help me to resolve this issue on windows (https://bugs.chromium.org/p/chromedriver/issues/detail?id=783).
For Chrome driver, the below code is worked for me
For Python users who see this page -- here's how I set the download directory in Python Selenium (this is just the Python version of Shubham's accepted answer):