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



我对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"作为要下载的文件类型时,这工作正常。 骗子有人告诉我下载此文件需要什么?

感谢您的时间和帮助。

据我了解,根据此MIME类型列表,您应该尝试以下方法:

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)

我使用此处概述的步骤解决了这个问题:

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

使用这些步骤,我确定我的 mime 文件类型是"应用程序/强制下载"所以我的代码现在看起来像这样:

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的帮助和耐心;)

我在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类型的定义。
也许它会帮助某人

最新更新