在项目过程中,上传,下载是很常用的功能,为了验证功能好不好用,我们可以通过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:内容类型