我是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”作为要下载的文件类型时,这工作正常。有人告诉我,我需要下载这个文件吗?
感谢您的时间和帮助。
答案 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)
我使用此处列出的步骤来解决这个问题:
使用这些步骤,我确定我的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类型的定义
也许它会帮助某人