webdriver高級應用 -無人工幹預地自動下載某個文件
阿新 • • 發佈:2019-02-13
false testcase selenium har python ever 腳本 all table
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/2/13 18:59 # @Author : solo # @Site : # @File : webdriver_11_6.py # @Software: PyCharm #無人工幹預地自動下載某個文件 #目的:在網頁上下載時,通常需要人為設定下載文件並選擇保存路徑,這樣就無法實現完全自動下載的工程。以下示例是基於firefox瀏覽器的 #全自動化文件下載操作,腳本執行後會將文件保存到指定目錄的文件夾下。 from selenium import webdriver import unittest,time class TestDemo(unittest.TestCase): def setUp(self): #創建一個firefoxprofile示例,用於存放自定義配置 profile = webdriver.FirefoxProfile() #指定下載路徑,默認只會自動創建一級目錄,如果指定了 #多級不存在的目錄,將會下載到默認路徑 profile.set_preference(‘browser.download.dir‘,‘d:\\iDownload‘) #將browser.download.folderList設置為2,表示將文件下載到指定路徑 #設置成2表示使用自定義下載路徑; #設置成0表示下載到桌面,設置成1表示下載到默認路徑 profile.set_preference(‘browser.download.folderList‘,2) #‘browser.helperApps.alwaysAsk.force對於未知的MIME類型文件會彈出窗口 #讓用戶處理,默認值為True,設定為False表示不會記錄打開未知MIME類型文件的方法 profile.set_preference(‘browser.helperApps.alwaysAsk.force‘,False) #在開始下載時是否顯示下載管理器 profile.set_preference("browser.download.manage.showWhenStaring",False) #設定為False會把下載框進行隱藏 profile.set_preference("browser.download.manager.useWindow",False) #默認值為True,設定為False表示不獲取焦點 profile.set_preference("browser.download.manager.alertonEXEopen",False) # # # profile.set_preference("browser.helperApps.neverAsk.openfile", "application/pdf") profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/zip,application/octet-stream") profile.set_preference("browser.download.manager.showAlertonComplete",False) profile.set_preference("browser.download.manager.closeWhenDone",False) self.driver = webdriver.Firefox(executable_path="C:\\webdriver_firefox_driver", firefox_profile=profile) def test_dataPicker(self): #訪問webdriver的驅動firefox的驅動文件下載網址 urll = "https://github.com/mozilla/geckodriver/releases" self.driver.get(urll) self.driver.find_element_by_xpath (‘//strong[.="geckodriver -v0.11.1 - win64.zip"]‘).click() #等待文件加載 time.sleep(10) url = "https://www.python.org/downloads/release/python - 2712/" self.driver.get(url) self.driver.find_element_by_link_text ("Windows x86 -64 MSI installer").click() time.sleep(100) def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main()
webdriver高級應用 -無人工幹預地自動下載某個文件