python中的Selenium chromedriver - 不要要求允许多次下载



我使用的是带有python的selemium chromedriver,我需要它来自动下载大量文件,问题是chrome要求允许多次下载,有没有办法阻止chrome这样问我并自动允许多次下载?我已经在其他语言中看到了这两个:禁用chrome下载多个文件确认,禁用chrome删除多个文件,但它们对我不起作用,它一直要求我允许多次下载。

您需要将chrome驱动程序的chrome选项,特别是download.prompt_for_download选项设置为false。请参阅chromedriver文档,这里有一个示例:

options = webdriver.ChromeOptions()
profile = { 
"download.default_directory": "C:tmpwhatever", 
"download.prompt_for_download": False
}
options.add_experimental_option("prefs", profile)
browser = webdriver.Chrome(options=options)

根据Selenium文档,它们不是下载东西的解决方案(https://www.selenium.dev/documentation/en/worst_practices/file_downloads/)。

他们确实有一个与警报和其他东西交互的解决方案(https://www.selenium.dev/documentation/en/webdriver/js_alerts_prompts_and_confirmations/)。

作为一种可能的解决方案,您可以尝试在无头模式下使用Selenium,也许可以首先避免这个问题。我现在正在尝试。

最新更新