Python 解決火狐瀏覽器不彈出下載框直接下載的問(wèn)題
用火狐瀏覽器下載文件,總是遇到這個(gè)彈窗問(wèn)題,如下圖:
原因:
使用火狐瀏覽器,點(diǎn)擊下載,彈出下載彈框,使用AutoITLibrary庫(kù),能夠判斷是否彈出了下載彈框,但因?yàn)椴荒芏ㄎ坏较螺d彈框,導(dǎo)致沒(méi)有下載,所以需要在下載過(guò)程中,不彈出下載框,直接下載,然后再判斷文件是否下載成功。
解決辦法:
1、自己?jiǎn)?dòng)Firefox瀏覽器,操作一次下載的過(guò)程。然后查看瀏覽器的“更多”-》“選項(xiàng)”-》“應(yīng)用程序”-》查看剛新增的文件類型,并修改為“保存文件“。
我的是 以“.GZ”結(jié)尾的,改為“保存文件“。
2、查看下載文件的Content_Type類型,我下載的文件是binary/octet-stream
3、新建python文件,輸入以下代碼。
fp = webdriver.FirefoxProfile()#定義瀏覽器設(shè)置的屬性fp.set_preference(’browser.download.dir’,’C:UsersDownloads’) #保存到指定目錄fp.set_preference('browser.download.folderList',2) #設(shè)置成0代表下載到瀏覽器默認(rèn)下載路徑;設(shè)置成2則可以保存到上面設(shè)置的指定目錄下fp.set_preference('browser.download.manager.showWhenStarting',False)#不管是True還是False,都不顯示開始,直接開始下載fp.set_preference('browser.helperApps.neverAsk.saveToDisk','binary/octet-stream')#不詢問(wèn)下載路徑,講文件直接下載。一定要設(shè)置正確的文件的Content_Type。driver = webdriver.Firefox(firefox_profile=fp)#給driver的賦予設(shè)置的屬性
測(cè)試使用的環(huán)境是:win 7 64位 +python 3.5 +Firefox 60.0 +selenium 3.8.0
以上這篇Python 解決火狐瀏覽器不彈出下載框直接下載的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP.NET MVC獲取多級(jí)類別組合下的產(chǎn)品2. ASP.NET MVC實(shí)現(xiàn)橫向展示購(gòu)物車3. ThinkPHP5 通過(guò)ajax插入圖片并實(shí)時(shí)顯示(完整代碼)4. Docker 容器健康檢查機(jī)制5. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫特效6. python使用openpyxl庫(kù)讀寫Excel表格的方法(增刪改查操作)7. python中asyncio異步編程學(xué)習(xí)8. python os.listdir()亂碼解決方案9. Python使用socket_TCP實(shí)現(xiàn)小文件下載功能10. ASP實(shí)現(xiàn)文件上傳的方法
