在selenium python webdriver中,我无法下载扩展名为.lst的文本文件

时间:2015-01-27 22:18:02

标签: python selenium selenium-webdriver download

我是python webdriver的新手,我一直在尝试使用此代码来实现它,以便我可以下载一个.lst扩展名的文本文件:

fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)  
fp.set_preference("browser.download.dir","/my/directory")
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/lst") 
self.driver = webdriver.Firefox(firefox_profile=fp) 

当我需要下载zip文件并使用“application / zip”作为要下载的文件类型时,这工作正常。有人告诉我,我需要下载这个文件吗?

感谢您的时间和帮助。

3 个答案:

答案 0 :(得分:2)

据我了解,根据此MIME Types list,您应该尝试以下方法:

fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/plain,application/x-powerpoint") 

您还可以切换到Chrome 并自动下载文件:

options = webdriver.ChromeOptions()
prefs = {
    "download.default_directory" : "/some/path",
    "download.directory_upgrade": "true",
    "download.prompt_for_download": "false",
    "disable-popup-blocking": "true"
}
options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=options)

答案 1 :(得分:2)

我使用此处列出的步骤来解决这个问题:

http://watirmelon.com/2011/09/07/determining-file-mime-types-to-autosave-using-firefox-watir-webdriver/

使用这些步骤,我确定我的mime文件类型是' application / forced-download'所以我的代码现在看起来像这样:

fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)  
fp.set_preference("browser.download.dir","/my/directory")
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/forced-download") 
self.driver = webdriver.Firefox(firefox_profile=fp) 

我的文件下载没有任何人为干预。感谢@alecxe的帮助和耐心;)

答案 2 :(得分:0)

我在Windows上使用Firefox + Selenium 3x + python3 我没有模态窗口的下载代码

fp = webdriver.FirefoxProfile ()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.download.dir", "C:\\Your\\Folder")
fp.set_preference("browser.helperApps.neverAsk.saveToDisk",   "application/zip")
driver = webdriver.Firefox(firefox_profile=fp)

其中application/zip是您的MIME类型的定义 也许它会帮助某人