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

在selenium python webdriver中,我无法下载扩展名为.lst的文本文件,python,selenium,selenium-webdriver,download,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

我对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作为下载文件类型时,这种方法工作得很好。有人告诉我下载这个文件需要什么吗


感谢您的时间和帮助。

据我所知,您应该尝试以下方法:

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)

据我所知,根据这一点,你应该尝试以下方法:

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)

我通过这里概述的步骤解决了这个问题:

通过这些步骤,我确定我的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的帮助和耐心

我通过以下步骤解决了这个问题:

通过这些步骤,我确定我的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类型的定义。
也许它会帮助别人

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

不幸的是,这并没有做到。是否有类似“只需下载任何类型的文件”的设置?谢谢你的帮助@user4476068不,您必须显式指定mime类型。你能上传一个样本文件给我测试吗?谢谢。@user4476068嗯,一个最简单的选择是将一个示例文件上载到文件共享主机。@user4476068另外,您可以切换到Chrome吗?文件如下:[link]您的意思是将我的测试切换到Chrome吗?一旦我在firefox中运行了这些东西,我接下来的任务之一就是让它们也在chrome中运行。再次感谢您的帮助。不幸的是,这并没有起到作用。是否有类似“只需下载任何类型的文件”的设置?谢谢你的帮助@user4476068不,您必须显式指定mime类型。你能上传一个样本文件给我测试吗?谢谢。@user4476068嗯,一个最简单的选择是将一个示例文件上载到文件共享主机。@user4476068另外,您可以切换到Chrome吗?文件如下:[link]您的意思是将我的测试切换到Chrome吗?一旦我在firefox中运行了这些东西,我接下来的任务之一就是让它们也在chrome中运行。再次感谢您的帮助。请使用mime类型text/plain而不是text/l使用mime类型text/plain而不是text/l这是对相关OP代码的几乎完全重新分级,没有任何有帮助的重大更改。这是对相关OP代码的几乎完全重新分级,没有任何有帮助的重大更改。