Search code examples
pythongoogle-chromeseleniumdownloaddriver

Downloading a file at a specified location through python and selenium using Chrome driver


I am trying to automatically download some links through selenium's click functionality and I am using a chrome webdriver and python as the programming language. How can I select the download directory through the python program so that it does not get downloaded in the default Downloads directory. I found a solution for firefox but there the download dialog keeps popping up every time it clicks on the link which does not happen in Chrome.


Solution

  • Update 2018:

    Its not valid Chrome command line switch, see the source code use hoju answer below to set the Preferences.

    Original:

    You can create a profile for chrome and define the download location for the tests. Here is an example:

    from selenium import webdriver
    
    options = webdriver.ChromeOptions() 
    options.add_argument("download.default_directory=C:/Downloads")
    
    driver = webdriver.Chrome(chrome_options=options)