【问题标题】:Selenium chromedriver in python - don't ask for allow multiple downloadspython中的Selenium chromedriver - 不要要求允许多次下载
【发布时间】:2020-08-30 10:40:35
【问题描述】:

我在 python 中使用 selemium chromedriver,我需要它来自动下载大量文件,问题是 chrome 要求允许多次下载,有没有办法阻止 chrome 询问我并自动允许多个下载? 我已经在其他语言中看到了这两个:Disable chrome download multiple files confirmationDisable chrome download multiple files confirmation 但是它们对我不起作用,并且一直要求我允许多次下载。

【问题讨论】:

  • 下载单个文件时,您的 chrome 是否还会询问您?还是只提示下载多个文件?
  • 不针对一个文件,只针对多个文件

标签: selenium selenium-chromedriver


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 您链接的硒文档并没有说没有解决方案,只是您无法通过硒监控下载进度。您只需设置浏览器首选项即可下载而无需询问,它会正常工作。
    猜你喜欢
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    相关资源
    最近更新 更多