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)。

 


猜你喜欢

转载自www.cnblogs.com/colin2012/p/8981181.html