7

我目前正在运行一个 Python 自动化程序,它需要使用 Selenium Chromedriver 在同一个会话中下载多个文件。

问题是当浏览器尝试下载第二个文件并读取它时,浏览器将不会下载,直到单击“允许”按钮。

我研究了 Selenium 的 ChromeOptions 部分以禁用它,但许多答案都在 Java 甚至其他浏览器中。

总而言之,您如何禁用允许多个文件下载的提示?

4

2 回答 2

14

您是否尝试将相应的偏好传递给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()
于 2015-07-15T13:24:30.790 回答
1

我必须设置的唯一 2 个首选项是:

download.prompt_for_download = False
download.default_directory = "/path/to/folder/"
于 2015-07-15T20:49:42.213 回答