首页 > 解决方案 > 使用 selenium 从 Firefox 自动下载 zip 文件

问题描述

我有一个 selenium 脚本来从网站下载文件,我已经使用这些首选项来避免在文件的最终下载时弹出窗口,但我还是在最终结束时弹出了这个窗口。我不需要这个弹出窗口,我的 zip 文件应该会自动下载,请帮助我解决问题。

profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2) # custom location
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.dir', '/tmp')
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/zip')
profile.set_preference("browser.helperApps.alwaysAsk.force", False)
profile.set_preference("browser.download.manager.alertOnEXEOpen", False)
profile.set_preference("browser.download.manager.focusWhenStarting", False)
profile.set_preference("browser.download.manager.useWindow", False)
profile.set_preference("browser.download.manager.showAlertOnComplete", False)
profile.set_preference("browser.download.manager.closeWhenDone", False)
profile.set_preference("browser.download.manager.useWindow", False)
profile.set_preference("services.sync.prefs.sync.browser.download.manager.showWhenStarting", False)
profile.set_preference("pdfjs.disabled", True)
profile.update_preferences()

弹出图像

标签: pythonseleniumautomation

解决方案


这是因为“应用程序/压缩包”。试试这个:

from selenium import webdriver

profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.preferences.instantApply",True)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.download.manager.showAlertOnComplete", False)
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream") #I realy dont know why application/zip doesnt work here
profile.set_preference("browser.download.dir", 'F:\\drivers')



driver = webdriver.Firefox( firefox_profile = profile,executable_path='F:\\drivers\\geckodriver')

driver.get('https://github.com/mozilla/geckodriver/releases')

driver.find_element_by_xpath('//a[@href="/mozilla/geckodriver/releases/download/v0.29.1/geckodriver-v0.29.1-win64.zip"]').click()

推荐阅读