Python 解決火狐瀏覽器不彈出下載框直接下載的問題
用火狐瀏覽器下載文件,總是遇到這個彈窗問題,如下圖:
原因:
使用火狐瀏覽器,點擊下載,彈出下載彈框,使用AutoITLibrary庫,能夠判斷是否彈出了下載彈框,但因為不能定位到下載彈框,導致沒有下載,所以需要在下載過程中,不彈出下載框,直接下載,然后再判斷文件是否下載成功。
解決辦法:
1、自己啟動Firefox瀏覽器,操作一次下載的過程。然后查看瀏覽器的“更多”-》“選項”-》“應用程序”-》查看剛新增的文件類型,并修改為“保存文件“。
我的是 以“.GZ”結尾的,改為“保存文件“。
2、查看下載文件的Content_Type類型,我下載的文件是binary/octet-stream
3、新建python文件,輸入以下代碼。
fp = webdriver.FirefoxProfile()#定義瀏覽器設置的屬性fp.set_preference(’browser.download.dir’,’C:UsersDownloads’) #保存到指定目錄fp.set_preference('browser.download.folderList',2) #設置成0代表下載到瀏覽器默認下載路徑;設置成2則可以保存到上面設置的指定目錄下fp.set_preference('browser.download.manager.showWhenStarting',False)#不管是True還是False,都不顯示開始,直接開始下載fp.set_preference('browser.helperApps.neverAsk.saveToDisk','binary/octet-stream')#不詢問下載路徑,講文件直接下載。一定要設置正確的文件的Content_Type。driver = webdriver.Firefox(firefox_profile=fp)#給driver的賦予設置的屬性
測試使用的環境是:win 7 64位 +python 3.5 +Firefox 60.0 +selenium 3.8.0
以上這篇Python 解決火狐瀏覽器不彈出下載框直接下載的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
