Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python Selenium Chrome disable prompt for "Trying to download multiple files"

I am currently running a Python automator which needs to download multiple files within the same session using Selenium Chromedriver.

The problem is that when the browser attempts to download the second file and read it, the browser will not download until the "Allow" button has been clicked.

I have researched the ChromeOptions part of Selenium to do with disabling it, but many of the answers were in Java, or even other browsers.

To summarise, how do you disable the prompt for allowing multiple file downloads?

like image 375
Andy Feely Avatar asked Jul 15 '15 12:07

Andy Feely


2 Answers

Did you try passing the according preference to webdriver?

import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chromedriver = "path/to/chromedriver"

os.environ["webdriver.chrome.driver"] = chromedriver
chrome_options = Options()

# this is the preference we're passing
prefs = {'profile.default_content_setting_values.automatic_downloads': 1}
chrome_options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)

# just downloading some files...
for _ in range(5):
    driver.get("http://code.jquery.com/jquery-1.11.3.min.map")

driver.quit()
like image 89
adrianus Avatar answered Nov 11 '22 18:11

adrianus


The only 2 prefs I've ever had to set are:

download.prompt_for_download = False
download.default_directory = "/path/to/folder/"
like image 1
user2426679 Avatar answered Nov 11 '22 17:11

user2426679