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; }
For Chromedriver try out with:
String downloadFilepath = "/path/to/download"; HashMap<String, Object> chromePrefs = new HashMap<String, Object>(); chromePrefs.put("profile.default_content_settings.popups", 0); chromePrefs.put("download.default_directory", downloadFilepath); ChromeOptions options = new ChromeOptions(); options.setExperimentalOption("prefs", chromePrefs); DesiredCapabilities cap = DesiredCapabilities.chrome(); cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); cap.setCapability(ChromeOptions.CAPABILITY, options); WebDriver driver = new ChromeDriver(cap);
Note:- In windows you need to use \\ for path while if you are using linux or mac then use //
Hope this helps. :)
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):
def newChromeBrowser(headless=True, downloadPath=None): """ Helper function that creates a new Selenium browser """ options = webdriver.ChromeOptions() if headless: options.add_argument('headless') if downloadPath is not None: prefs = {} os.makedirs(downloadPath) prefs["profile.default_content_settings.popups"]=0 prefs["download.default_directory"]=downloadPath options.add_experimental_option("prefs", prefs) browser = webdriver.Chrome(options=options, executable_path=CHROMEDRIVER_PATH) return browser
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With