注意:
1、需要加载 browser.helperApps.neverAsk.saveToDisk 选择,其值 application/x-msdownload 为Mine_type类型。该类型需要在网页上抓包查看(直接通过观察下载文件的类型填入可能会和网页下载的类型不一致),具体是在header中的content type。
2、如果出现nss出错,可以设置security.ssl3.dhe_rsa_aes_128_sha为False来解决。
3、profile.set_preference的第一个参数可以在火狐浏览器中的 about:config 查看。
4、若用火狐浏览器打开网页出现302错误,可以设置profile.set_preference('network.cookie.leave-secure-alone',False)即可解决。
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.dir', 'D:/')
profile.set_preference('browser.download.folderList', 2)
profile.set_preference('browser.download.manager.focusWhenStarting',False)
profile.set_preference('browser.download.manager.showWhenStarting',False)
profile.set_preference('network.cookie.leave-secure-alone',False)
#我本来下载的文件类型为zip,但是header中的content type为application/x-msdownload
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/x-msdownload")
profile.set_preference("security.ssl3.dhe_rsa_aes_128_sha",False) #没有这个会出现nss错误
driver = webdriver.Firefox(executable_path=driver_address,firefox_profile=profile)