修改Firefox的相关配置。
1、profile.set_preference('browser.download.folderList',2)
设置成0代表桌面,1代表下载到浏览器默认下载路径;2代表保存到自定义目录.设置为2的时候,设置自定义路径的就要去掉。
2、profile.set_preference('browser.download.dir','F:\\Users')
保存到指定目录F盘Users文件夹。可以任意文件夹,但是记得分隔符是两个反斜杠
3、profile.set_preference('browser.download.manager.showWhenStarting',False)
不管是True还是False,都不显示开始,直接开始下载
4、profile.set_preference('browser.helperApps.neverAsk.saveToDisk','application/octet-stream ,application/zip,application/kswps,application/pdf')
不询问下载路径;后面的参数为要下载页面的Content-type的值
Content-type请参考网页:http://www.w3school.com.cn/media/media_mimeref.asp
from selenium import webdriver
import time
fp = webdriver.FirefoxProfile()
fp.set_preference('browser.download.manager.showWhenStarting',False)
fp.set_preference('browser.download.folderList',2) #设置Firefox的默认下载文件夹。0是桌面;1是“我的下载”;2是自定义。
fp.set_preference('browser.download.dir','C:\\Users\\del\\Desktop\\1') #设置自定义路径时,定义的路径
fp.set_preference('browser.helperApps.neverAsk.saveToDisk','application/zip') #不询问下载路径;后面的参数为要下载页面的文件类型的值。
time.sleep(10)
driver = webdriver.Firefox(firefox_profile=fp)
driver.implicitly_wait(20)
driver.get("http://sahitest.com/demo/saveAs.htm")
driver.find_element_by_link_text('testsaveas.zip').click()
time.sleep(10)
driver.quit()
============================================================
from selenium import webdriver
import time
fp = webdriver.FirefoxProfile()
fp.set_preference('browser.download.manager.showWhenStarting',False)
fp.set_preference('browser.download.folderList',2)
fp.set_preference('browser.download.dir','C:\\Users\\del\\Desktop\\1')
fp.set_preference('browser.helperApps.neverAsk.saveToDisk','application/octet-stream')
#exe文件
time.sleep(10)
driver = webdriver.Firefox(firefox_profile=fp)
driver.implicitly_wait(20)
driver.get("https://www.python.org/downloads/release/python-381/")
driver.find_element_by_link_text('Windows x86-64 executable installer').click()
time.sleep(10)
driver.quit()
==============================================
按照文件扩展名排列的 Mime 类型列表
| 扩展名 | 类型/子类型 |
|---|---|
| application/octet-stream | |
| 323 | text/h323 |
| acx | application/internet-property-stream |
| ai | application/postscript |
| aif | audio/x-aiff |
| aifc | audio/x-aiff |
| aiff | audio/x-aiff |
| asf | video/x-ms-asf |
| asr | video/x-ms-asf |
| asx | video/x-ms-asf |
| au | audio/basic |
| avi | video/x-msvideo |
| axs | application/olescript |
| bas | text/plain |
| bcpio | application/x-bcpio |
| bin | application/octet-stream |
| bmp | image/bmp |
| c | text/plain |
| cat | application/vnd.ms-pkiseccat |
| cdf | application/x-cdf |
| cer | application/x-x509-ca-cert |
| class | application/octet-stream |
| clp | application/x-msclip |
| cmx | image/x-cmx |
| cod | image/cis-cod |
| cpio | application/x-cpio |
| crd | application/x-mscardfile |
| crl | application/pkix-crl |
| crt | application/x-x509-ca-cert |
| csh | application/x-csh |
| css | text/css |
| dcr | application/x-director |
| der | application/x-x509-ca-cert |
| dir | application/x-director |
| dll | application/x-msdownload |
| dms | application/octet-stream |
| doc | application/msword |
| dot | application/msword |
| dvi | application/x-dvi |
| dxr | application/x-director |
| eps | application/postscript |
| etx | text/x-setext |
| evy | application/envoy |
| exe | application/octet-stream |
| fif | application/fractals |
| flr | x-world/x-vrml |
| gif | image/gif |
| gtar | application/x-gtar |
| gz | application/x-gzip |
| h | text/plain |
| hdf | application/x-hdf |
| hlp | application/winhlp |
| hqx | application/mac-binhex40 |
| hta | application/hta |
| htc | text/x-component |
| htm | text/html |
| html | text/html |
| htt | text/webviewhtml |
| ico | image/x-icon |
| ief | image/ief |
| iii | application/x-iphone |
| ins | application/x-internet-signup |
| isp | application/x-internet-signup |
| jfif | image/pipeg |
| jpe | image/jpeg |
| jpeg | image/jpeg |
| jpg | image/jpeg |
| js | application/x-javascript |
| latex | application/x-latex |
| lha | application/octet-stream |
| lsf | video/x-la-asf |
| lsx | video/x-la-asf |
| lzh | application/octet-stream |
| m13 | application/x-msmediaview |
| m14 | application/x-msmediaview |
| m3u | audio/x-mpegurl |
| man | application/x-troff-man |
| mdb | application/x-msaccess |
| me | application/x-troff-me |
| mht | message/rfc822 |
| mhtml | message/rfc822 |
| mid | audio/mid |
| mny | application/x-msmoney |
| mov | video/quicktime |
| movie | video/x-sgi-movie |
| mp2 | video/mpeg |
| mp3 | audio/mpeg |
| mpa | video/mpeg |
| mpe | video/mpeg |
| mpeg | video/mpeg |
| mpg | video/mpeg |
| mpp | application/vnd.ms-project |
| mpv2 | video/mpeg |
| ms | application/x-troff-ms |
| mvb | application/x-msmediaview |
| nws | message/rfc822 |
| oda | application/oda |
| p10 | application/pkcs10 |
| p12 | application/x-pkcs12 |
| p7b | application/x-pkcs7-certificates |
| p7c | application/x-pkcs7-mime |
| p7m | application/x-pkcs7-mime |
| p7r | application/x-pkcs7-certreqresp |
| p7s | application/x-pkcs7-signature |
| pbm | image/x-portable-bitmap |
| application/pdf | |
| pfx | application/x-pkcs12 |
| pgm | image/x-portable-graymap |
| pko | application/ynd.ms-pkipko |
| pma | application/x-perfmon |
| pmc | application/x-perfmon |
| pml | application/x-perfmon |
| pmr | application/x-perfmon |
| pmw | application/x-perfmon |
| pnm | image/x-portable-anymap |
| pot, | application/vnd.ms-powerpoint |
| ppm | image/x-portable-pixmap |
| pps | application/vnd.ms-powerpoint |
| ppt | application/vnd.ms-powerpoint |
| prf | application/pics-rules |
| ps | application/postscript |
| pub | application/x-mspublisher |
| qt | video/quicktime |
| ra | audio/x-pn-realaudio |
| ram | audio/x-pn-realaudio |
| ras | image/x-cmu-raster |
| rgb | image/x-rgb |
| rmi | audio/mid |
| roff | application/x-troff |
| rtf | application/rtf |
| rtx | text/richtext |
| scd | application/x-msschedule |
| sct | text/scriptlet |
| setpay | application/set-payment-initiation |
| setreg | application/set-registration-initiation |
| sh | application/x-sh |
| shar | application/x-shar |
| sit | application/x-stuffit |
| snd | audio/basic |
| spc | application/x-pkcs7-certificates |
| spl | application/futuresplash |
| src | application/x-wais-source |
| sst | application/vnd.ms-pkicertstore |
| stl | application/vnd.ms-pkistl |
| stm | text/html |
| svg | image/svg+xml |
| sv4cpio | application/x-sv4cpio |
| sv4crc | application/x-sv4crc |
| swf | application/x-shockwave-flash |
| t | application/x-troff |
| tar | application/x-tar |
| tcl | application/x-tcl |
| tex | application/x-tex |
| texi | application/x-texinfo |
| texinfo | application/x-texinfo |
| tgz | application/x-compressed |
| tif | image/tiff |
| tiff | image/tiff |
| tr | application/x-troff |
| trm | application/x-msterminal |
| tsv | text/tab-separated-values |
| txt | text/plain |
| uls | text/iuls |
| ustar | application/x-ustar |
| vcf | text/x-vcard |
| vrml | x-world/x-vrml |
| wav | audio/x-wav |
| wcm | application/vnd.ms-works |
| wdb | application/vnd.ms-works |
| wks | application/vnd.ms-works |
| wmf | application/x-msmetafile |
| wps | application/vnd.ms-works |
| wri | application/x-mswrite |
| wrl | x-world/x-vrml |
| wrz | x-world/x-vrml |
| xaf | x-world/x-vrml |
| xbm | image/x-xbitmap |
| xla | application/vnd.ms-excel |
| xlc | application/vnd.ms-excel |
| xlm | application/vnd.ms-excel |
| xls | application/vnd.ms-excel |
| xlt | application/vnd.ms-excel |
| xlw | application/vnd.ms-excel |
| xof | x-world/x-vrml |
| xpm | image/x-xpixmap |
| xwd | image/x-xwindowdump |
| z | application/x-compress |
| zip | application/zip |
=====================================================================================================
from selenium import webdriver
import os
import time
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 1) #0桌面,1默认下载路径,2自定义路径。设置0和1的时候,第三个设置自定义路径的就要去掉
fp.set_preference("browser.download.manager.showWhenStarting", False) #设置不弹出下载窗口
#fp.set_preference("browser.download.dir",os.getcwd()) # 指定所下载文件的目录。os.getcwd()函数不需要传递参数,用于返回当前的目录
#我的 C:\Users\del\PycharmProjects\untitled\ff
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/zip") #设置下载的文件格式
time.sleep(10)
driver = webdriver.Firefox(firefox_profile=fp)
driver.implicitly_wait(20)
driver.get("http://sahitest.com/demo/saveAs.htm")
driver.find_element_by_link_text('testsaveas.zip').click()
time.sleep(50)
driver.quit()