在項目過程中,上傳,下載是很常用的功能,爲了驗證功能好不好用,我們可以通過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:內容類型