Python selenium —— 檔案下載,不彈出視窗,直接下載到指定路徑
今天談談檔案下載吧,很多人不會處理彈出的檔案下載框,其實跟上傳類似,可以用autoit和win32api解決,方法類似,可以看博主之前的文章 ,今天這裡博主主要想講講更漂亮的一種處理辦法,那就是指定下載路徑,不彈出彈框,直接下載到指定路徑。
今天主要分享Firefox和Chrome的設定方法。
Firefox 檔案下載
對於Firefox,需要我們設定其Profile:
browser.download.dir
:指定下載路徑browser.download.folderList
:設定成2
表示使用自定義下載路徑;設定成0
表示下載到桌面;設定成1
表示下載到預設路徑browser.download.manager.showWhenStarting
browser.helperApps.neverAsk.saveToDisk
:對所給出檔案型別不再彈出框進行詢問
下面來個示例:
# -*- coding: utf-8 -*-
from selenium import webdriver
from time import sleep
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.dir', 'd:\\')
profile.set_preference('browser.download.folderList' , 2)
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/zip')
driver = webdriver.Firefox(firefox_profile=profile)
driver.get('http://sahitest.com/demo/saveAs.htm')
driver.find_element_by_xpath('//a[text()="testsaveas.zip"]' ).click()
sleep(3)
driver.quit()
Firefox需要針對每種檔案型別進行設定,這裡需要我們查詢對應檔案的MIME型別,可以用以下連結進行查詢:MIME 參考手冊
Chrome 檔案下載
Chrome瀏覽器類似,設定其options:
download.default_directory
:設定下載路徑profile.default_content_settings.popups
:設定為0
禁止彈出視窗
它的設定就簡單多了,看個示例:
# -*- coding: utf-8 -*-
from selenium import webdriver
from time import sleep
options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'd:\\'}
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(executable_path='D:\\chromedriver.exe', chrome_options=options)
driver.get('http://sahitest.com/demo/saveAs.htm')
driver.find_element_by_xpath('//a[text()="testsaveas.zip"]').click()
sleep(3)
driver.quit()
看,檔案下載也很簡單吧。
更多關於python selenium的文章,請關注我的CSDN專欄:
相關推薦
Python selenium —— 檔案下載,不彈出視窗,直接下載到指定路徑
今天談談檔案下載吧,很多人不會處理彈出的檔案下載框,其實跟上傳類似,可以用autoit和win32api解決,方法類似,可以看博主之前的文章 ,今天這裡博主主要想講講更漂亮的一種處理辦法,那就是指定下載路徑,不彈出彈框,直接下載到指定路徑。 今天主要分享Fi
ajax呼叫後臺實現檔案下載,不彈出下載提示框,無法下載
在做ajax呼叫後臺實現檔案下載時,出現了後臺返回前端正確資料,但前臺就是不提示下載框,且沒有下載檔案 $.ajax({ "url" : urlStr + 'exportFile', "method" : "POST", "data" : { "list
Dynamics CRM JavaScript 儲存時彈出視窗,確認則儲存,取消則不儲存。
該程式碼需要配置OnSave事件。並啟用“將執行上下文作為第一個引數” 。 OnSave事件在表單載入和儲存時都會觸發,所以對於Alert的動作,需要寫好判斷條件,防止載入時觸發。 本程式碼是通過判斷是否欄位未儲存來防止觸發的。 function SaveAlert(Execu
【轉】SMARTFORMS不彈出列印,預覽的視窗,直接預覽
DATA: ctrl_param TYPE ssfctrlop, out_option TYPE ssfcompop, fm_name TYPE rs38l_fnam. ctrl_param-preview = 'X'. out_option-tddes
Android 7.1.2 原始碼修改,使用自己的 app 作為預設桌面,不彈出桌面選擇彈窗
需求:使用自己開發的桌面 app 作為預設,不再出現桌面選擇 在不修改原始碼前提下,可以設定自己的app為桌面,但是如果自己的應用出現崩潰,則在 Android 啟動機制下會彈出桌面選擇彈窗,如果在定製的系統中,這個是不能接受的,但本身在開發也需要使用預設 launcher 進行其他
網賭遇到黑網退出難,不給出款,錢怎麼辦?報警有用嗎?
現在的網路資訊時代,很多人都會選擇在網上做一些事情包括日常的娛樂,所以在看不到摸不著的網路上難免會被騙,玩×××是很不安全的,在沒有任何保障的情況下投注進自己的血汗錢。說到不給提款被網站黑了,大多數人的情況都是差不多,原因一,被套路。被套路指的是被一些騙子帶進去玩,用一些華麗的語言把網站包裝得密不透風,用一些
網賭遇到黑網退出難,不給出款,錢怎麽辦?報警有用嗎?
eee tex 信息 是否 是我 watermark 分享圖片 自己的 mage 現在的網絡信息時代,很多人都會選擇在網上做一些事情包括日常的娛樂,所以在看不到摸不著的網絡上難免會被騙,玩×××是很不安全的,在沒有任何保障的情況下投註進自己的血汗錢。說到不給提款被網站黑了,
多種彈出視窗,彈出層,包括ajax,圖片等載入
<p>It's easy to override the styling of Featherlight. All you need to do is specify an additional class in the data-featherlight-variant
div彈出視窗,視窗固定螢幕中間
<style type="text/css"> #login { display: none; border:10px sol
如何關閉彈出視窗,重新整理父視窗?
關閉彈出視窗,重新整理父視窗 <script>\r\nopener.location.reload();\r\nwindow.close();\r\n</script> 擴充套件:window.opener.location.href 2個
潤乾——不彈出提示框直接匯出excel
不彈出提示框直接匯出excel 通常我們在瀏覽報表的時候,可以通過潤乾自帶的標籤實現匯出Excel,在點選匯出的標籤後,頁面會彈出一個提示框,可以讓使用者對於匯出的Excel設定是否分頁,是否匯出公式,對話方塊如下圖所示。 當用戶想直接匯出excel,不彈出此提示框時,可以通過在JSP的<repor
通過網頁修改activex安全設定,新增信任站點,禁用彈出視窗阻止程式
//新增信任站點ipWshShell.RegWrite("HKCU//Software//Microsoft//Windows//CurrentVersion//Internet Settings//ZoneMap//Ranges//Range100//","");WshShell.RegWrite("HKC
基於easyui的彈出視窗,自己留個以後用
/** * @deprecated 彈出視窗元件,基於easyui-1.3.2+, * @author caonq * @version 0.1 */ var popWin={ setupNum:1, buttons:[], //初始化元件。 init:fu
JQuery 彈出視窗,(div顯示與隱藏),隱藏層半透明
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="te
js 異常處理 錯誤不彈出視窗
問題:幾乎開啟的每個網頁左下角都顯示“網頁有錯誤” 行: 2 char: 1 錯誤: 語法錯誤 程式碼: 0 “腳 本錯誤”形成的原因是因為訪問者所使用的瀏覽器不能完全支援頁面裡的指令碼,而且出現頻率並不低。遇到“指令碼錯誤”時一般會彈出一個非常難看的指令碼執行錯誤 警告視窗,而事實上,指令碼錯誤並不會影響網
點選彈出視窗,在視窗中播放視訊文…
<!--視訊彈出樣式開始--> <LINK rel=stylesheet type=text/css href="js/lightwindow.css"> <SCRIPT language=JavaScript type=text/javascript src="js/4
檔案下載時,只彈出下載框,不在頁面開啟的方法。
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>default4.aspx: <
selenium+python自動化80-文件下載(不彈詢問框)
manager browser cat odi TP cto show 默認 AS 前言 上一篇是點彈出框上的按鈕去保存文件,本篇介紹一種更加優雅的方法,加載Firefox和Chrome的配置文件,不彈出詢問框後臺下載。 一、FirefoxProfile 1.點下載的時
Java通過Spring MVC匯出批量Excel檔案壓縮包,並彈出下載框
直接貼程式碼: 頁面jsp的部分程式碼,為表單提交的程式碼: <form id="exportForm" action="${pageContext.request.contextPath}/downLoad/exportFile.action" onsub
springmvc Excel檔案上傳,使用ajaxSubmit方法進行檔案上傳,使用彈出層彈出一個框(jquery layer),點選進行下載
效果: 彈出層使用的是jquery外掛layer 外掛下載地址http://download.csdn.net/detail/rendeyishi/8048139 因為我是使用的是jquery裡面的ajaxSubmit進行檔案上傳 所以這個jquery.form.js必