• python+selenium下载文件——firefox


    修改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
    pdf 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()



  • 相关阅读:
    Java Web总结一反射、单例模式
    Android中Log的管理
    改进边的导航
    当前效果
    understand一些功能
    maya 专家模式
    改进的共轭梯度法
    selenium TestNG 依赖和忽略测试
    selenium TestNG基本注释和属性
    JAVA 批量执行测试用例
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12078159.html
Copyright © 2020-2023  润新知