selenium+python自動化80-檔案下載(不彈詢問框)

來源:互聯網
上載者:User

標籤:cut   cte   www   設定檔   同檔案   when   star   def   一個   

前言

上一篇是點彈出框上的按鈕去儲存檔案,本篇介紹一種更加優雅的方法,載入Firefox和Chrome的設定檔,不彈出詢問框後台下載。 

一、FirefoxProfile

1.點下載的時候,如,如果不想讓它彈出這個詢問框,可以載入firefox的設定檔隱藏起來

 

2.設定各項參數,參數可以通過在瀏覽器地址欄中輸入about:config查看

 

3.FirefoxProfile的配置說明

-‘browser.download.folderList‘:設定成0表示下載到案頭;設定成1表示下載到預設路徑;設定成2則可以儲存到指定目錄;

- ‘browser.download.dir‘ :“設定一個本地電腦路徑:‘d:\\’ ”

- "browser.download.manager.showWhenStarting", False  是否顯示下載進度框,所示(這個設定沒生效)

- "browser.helperApps.neverAsk.saveToDisk", "application/octet-stream"  對所給出檔案類型不再彈出框進行詢問

 二、檔案類型

1.第四個參數檔案類型這裡一定要注意了,下載的不同檔案類型,參數是不一樣的,可以查閱:MIME 參考手冊 http://www.w3school.com.cn/media/media_mimeref.asp

三、Firefox配置

# coding:utf-8from selenium import webdriver# 設定各項參數,參數可以通過在瀏覽器地址欄中輸入about:config查看。profile = webdriver.FirefoxProfile()# 設定成0表示下載到案頭;設定成1表示下載到預設路徑;設定成2則可以儲存到指定目錄;profile.set_preference(‘browser.download.folderList‘, 2)# 指定下載檔案到你想放的路徑profile.set_preference(‘browser.download.dir‘, ‘d:\\‘)# 開始下載時候顯示是否顯示進度框 (這個設定目前沒生效)profile.set_preference("browser.download.manager.showWhenStarting", False)# 對所給出檔案類型不再彈出框進行詢問profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream")driver = webdriver.Firefox(firefox_profile=profile)# 開啟有道雲筆記driver.get("http://note.youdao.com/")# 點立即下載按鈕driver.find_element_by_id("download-btn").click() 四、Chrome配置# coding:utf-8from selenium import webdriverprofile = webdriver.ChromeOptions()prefs = {‘profile.default_content_settings.popups‘: 0,  # 設定為 0 禁止快顯視窗         ‘download.default_directory‘: ‘d:\\‘}          # 指定下載路徑profile.add_experimental_option(‘prefs‘, prefs)# executable_path這個是chromedriver的路徑 如果設定過環境變數,此參數可以省略chromedriver_path = "D:\\path\\chromedriver.exe"   # 自己本地電腦路徑driver = webdriver.Chrome(executable_path=chromedriver_path, chrome_options=profile)# 開啟有道雲筆記driver.get("http://note.youdao.com/")# 點立即下載按鈕driver.find_element_by_id("download-btn").click()

 

selenium+python自動化80-檔案下載(不彈詢問框)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.