在做自动化测试时,需要从网页上下载相关的文件到指定的目录,一直未能实现
网上正好有个blog文章介绍了如何下载
直接上代码:
from selenium import webdriver import time from selenium.webdriver.common.keys import Keys fp = webdriver.FirefoxProfile() ##设置成0代表下载到浏览器默认下载路径;设置成2则可以保存到指定目录 fp.set_preference("browser.download.folderList",2) fp.set_preference("browser.download.manager.showWhenStarting",False) fp.set_preference("browser.download.dir","c:\test") fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/binary") #fp.set_preference("browser.helperApps.alwaysAsk.force", False); driver = webdriver.Firefox(firefox_profile=fp)
具体可以参考这个blog:http://www.51testing.com/html/50/598350-860378.html
但在操作时,遇到一个问题,Content-type的值从何得知,可以从w3school得知:http://www.w3school.com.cn/media/media_mimeref.asp
有时候你要下的文件类型在这里面找不到怎么办?
解决方法步骤:
1、手工通过firefox下载文件,并设置下载项,如下图
2、通过about:config
通过%APPDATA%MozillaFirefoxProfiles找到默认配置
找到mimeTypes.rdf目录,用其它方式打开,查找你刚刚保存的文件类型
从文件中就可以得知我们需要的文件类型是什么