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

In selenium python webdriver, I'm not able to download a text file with a .lst extension

我对 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 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)

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

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

我在 Windows.
上使用 Firefox + Selenium 3x +python3 我的无模式下载代码 window

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