【问题标题】:headless chrome downloading file without being asked to无头 chrome 下载文件而不被要求
【发布时间】:2022-08-23 00:38:00
【问题描述】:

我有一个需要下载文件的硒测试。我通过从页面 web 元素检索下载的 url 然后执行它来实现它

driver.get(<url>)

这适用于常规 chrome,但当我切换到无头 chrome 时,我正在下载文件,而无需从页面检索下载的 url。只需导航到页面即可自动下载。虽然这对于测试来说很好,但我想知道为什么无头镀铬会发生这种情况

ChromeDriver 99.0.4844.51

硒 3.141.0

蟒蛇 3.10

无头 Chrome 设置:

\"desiredCapabilities\": {
  \"browserName\": \"chrome\",
  \"goog:chromeOptions\": {
     \"args\": [ \"--disable-popup-blocking\", \"--disable-notifications\", \"--headless\", \"--disable-web-security\", \"--no-sandbox\", \"--disable-dev-shm-usage\", \"--disable-background-timer-throttling\", \"window-size=1920x1480\", \"--remote-debugging-port=9222\" ],
     \"extensions\": [  ],
     \"prefs\": {
        \"download.default_directory\": \"/Users/Imran.Ali/downloads\",
        \"download.directory_upgrade\": true,
        \"download.prompt_for_download\": false,
        \"plugins.always_open_pdf_externally\": true,
        \"safebrowsing.disable_download_protection\": true,
        \"safebrowsing.enabled\": false
     }
  },
  \"platform\": \"ANY\",
  \"unhandledPromptBehavior\": \"accept\",
  \"version\": \"\"

常规 Chrome 设置

 \"desiredCapabilities\": {
  \"browserName\": \"chrome\",
  \"goog:chromeOptions\": {
     \"args\": [ \"--disable-popup-blocking\", \"--disable-notifications\" ],
     \"extensions\": [  ],
     \"prefs\": {
        \"download.default_directory\": \"/Users/Imran.Ali/downloads\"
        \"download.directory_upgrade\": true,
        \"download.prompt_for_download\": false,
        \"plugins.always_open_pdf_externally\": true,
        \"safebrowsing.disable_download_protection\": true,
        \"safebrowsing.enabled\": false
     }
  },
  \"platform\": \"ANY\",
  \"unhandledPromptBehavior\": \"accept\",
  \"version\": \"\"
  • 你的问题解决了吗?让其他人知道您的问题更新。所以,如果有类似问题的人打开这个页面,他们会发现这个线程对他们的故障排除很有用。
  • 这里有同样的问题,但情况略有不同。就我而言,该文件不是使用无头选项下载的,而是在非无头方案中下载的。

标签: python-3.x selenium-chromedriver google-chrome-headless


【解决方案1】:

Selenium 和 Headless Chrome 无法自动下载文件,除非在某些情况下。这很可能是由于网站本身,而不是来自 Selenium 或 Chrome。在我们无法使用 Selenium 和 Headless Chrome 下载文件的情况下也是如此。这通常是由于网络本身造成的。更具体的原因正在进一步调查中。

【讨论】:

    猜你喜欢
    • 2019-12-27
    • 2011-07-04
    • 2021-10-11
    • 2021-09-12
    • 2020-05-29
    • 2021-09-10
    • 2020-02-04
    相关资源
    最近更新 更多