我目前正在运行一个 Python 自动化程序,它需要使用 Selenium Chromedriver 在同一个会话中下载多个文件。
问题是当浏览器尝试下载第二个文件并读取它时,浏览器将不会下载,直到单击“允许”按钮。
我研究了 Selenium 的 ChromeOptions 部分以禁用它,但许多答案都在 Java 甚至其他浏览器中。
总而言之,您如何禁用允许多个文件下载的提示?
我目前正在运行一个 Python 自动化程序,它需要使用 Selenium Chromedriver 在同一个会话中下载多个文件。
问题是当浏览器尝试下载第二个文件并读取它时,浏览器将不会下载,直到单击“允许”按钮。
我研究了 Selenium 的 ChromeOptions 部分以禁用它,但许多答案都在 Java 甚至其他浏览器中。
总而言之,您如何禁用允许多个文件下载的提示?
您是否尝试将相应的偏好传递给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()
我必须设置的唯一 2 个首选项是:
download.prompt_for_download = False
download.default_directory = "/path/to/folder/"