在项目过程中,上传,下载是很常用的功能,为了验证功能好不好用,我们可以通过webdriver。
webdriver允许我们设置默认文件下载路径。
但是,想要下载,我们需要先了解下载文件的类型,有两种方式,
①curl
>>curl -I http:/www.baidu.com
可以直接看到 content_type 的类型
②requests
import requests file_type = requests.head("http://www.baidu.com").headers['content-type'] print(file_type)
>>>>打印结果:
弄清楚了需要下载的内容类型之后,我们就有目标了。
上代码:
# -*- coding: utf-8 -*- """ @ auth : carl_DJ @ time : 2020-5-21 """ from selenium import webdriver from selenium.webdriver.common.by import By import os import requests fp = webdriver.FirefoxProfile() fp.set_preference("browser.download.folderList",2) fp.set_preference("browser.download.manager.showWhenStarting",False) fp.set_preference("browser.download.dir",os.getcwd()) fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream") browser = webdriver.Firefox(firefox_profile=fp) url = "https://pypi.org/project/selenium/#files" browser.get(url) browser.find_element(By.PARTIAL_LINK_TEXT,"selenium-3").click() browser.quit()
1、browser.download.dir:指定下载文件路径
2、os.getcwd()返回当前路径
>>>不太明白的,建议看一下 os模块, 在实际项目中,os模块运用的不算少
3、application/octet-stream:内容类型