zoukankan      html  css  js  c++  java
  • fiefox 自动下载文件配置

    
    

    def login(self):

    prefile=webdriver.FirefoxProfile('C:\Users\anybody\AppData\Roaming\Mozilla\Firefox\Profiles\ky3cslyr.test')
    #prefile.set_preference('browser.download.folderList',2)#下载路径配置:0 桌面 1指定路径 2我的下载
    #prefile.set_preference("browser.download.dir","下载路径")#选择2时指定路径
    prefile.set_preference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream,"+ " application/vnd.ms-excel, text/csv, application/zip,application/exe")
    driver=webdriver.Firefox(prefile)#browser.helperApps.neverAsk.saveToDisk无需确认下载到磁盘,value 是具体的文件后缀格式,Content-Type:"application/x-www-form-urlencoded"
    driver.get(self.url)
    driver.maximize_window()

    常用的编码方式

    
    

    form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。

      1.x-www-form-urlencoded
    当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2…),然后把这个字串append到url后面,用?分割,加载这个新的url。
    
    

        2.multipart/form-data

    
    

    当action为post时候,浏览器把form数据封装到http body中,然后发送到server。 如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。 但是如果有type=file的话,就要用到multipart/form-data了。浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。

       3.application/octet-stream

    只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组),属于HTTP规范中Content-Type的一种

       'doc'        => 'application/msword',
        'bin'        => 'application/octet-stream',
        'exe'        => 'application/octet-stream',
        'so'        => 'application/octet-stream',
        'dll'        => 'application/octet-stream',
        'pdf'        => 'application/pdf',
        'ai'        => 'application/postscript',
        'xls'        => 'application/vnd.ms-excel',
        'ppt'        => 'application/vnd.ms-powerpoint',
        'dir'        => 'application/x-director',
        'js'        => 'application/x-javascript',
        'swf'        => 'application/x-shockwave-flash',
        'xhtml'        => 'application/xhtml+xml',
        'xht'        => 'application/xhtml+xml',
        'zip'        => 'application/zip',
        'mid'        => 'audio/midi',
        'midi'        => 'audio/midi',
        'mp3'        => 'audio/mpeg',
        'rm'        => 'audio/x-pn-realaudio',
        'rpm'        => 'audio/x-pn-realaudio-plugin',
        'wav'        => 'audio/x-wav',
        'bmp'        => 'image/bmp',
        'gif'        => 'image/gif',
        'jpeg'        => 'image/jpeg',
        'jpg'        => 'image/jpeg',
        'png'        => 'image/png',
        'css'        => 'text/css',
        'html'        => 'text/html',
        'htm'        => 'text/html',
        'txt'        => 'text/plain',
        'xsl'        => 'text/xml',
        'xml'        => 'text/xml',
        'mpeg'        => 'video/mpeg',
        'mpg'        => 'video/mpeg',
        'avi'        => 'video/x-msvideo',
        'movie'        => 'video/x-sgi-movie',  

     

     


  • 相关阅读:
    设计数据密集型应用(中英双语)
    缓存设计中的热点问题讨论
    Python Twisted
    Python-memcached的使用用法
    四款免费好用的Bootstrap ui编辑器
    8个强大的基于Bootstrap的CSS框架
    盘点国内网站常用的一些 CDN 公共库加速服务
    分布式缓存系统 Memcached 快速入门
    函数缓存 (Function caching)
    Golang新开发者要注意的陷阱和常见错误
  • 原文地址:https://www.cnblogs.com/colin2012/p/8981181.html
Copyright © 2011-2022 走看看