我希望让Firefox使用selenium
从这个Frankfurt stock exchange webpage下载主数据(下载,XLSX) Excel文件。
问题:我无法让Firefox下载文件,而不会先询问保存位置。
首先我要指出,我尝试从中获取Excel文件的网址实际上是一个Blob网址:
也许Blob引起了我的问题?或者,问题可能出在我的MIME处理中?
from selenium import webdriver
profile_dir = "path/to/ff_profile"
dl_dir = "path/to/dl/folder"
ff_profile = webdriver.FirefoxProfile(profile_dir)
ff_profile.set_preference("browser.download.folderList", 2)
ff_profile.set_preference("browser.download.manager.showWhenStarting", False)
ff_profile.set_preference("browser.download.dir", dl_dir)
ff_profile.set_preference('browser.helperApps.neverAsk.saveToDisk', "text/plain, application/vnd.ms-excel, text/csv, text/comma-separated-values, application/octet-stream")
driver = webdriver.Firefox(ff_profile)
url = "http://www.xetra.com/xetra-en/instruments/etf-exchange-traded-funds/list-of-tradable-etfs"
driver.get(url)
dl_link = driver.find_element_by_partial_link_text("Master data")
dl_link.click()
答案 0 :(得分:1)
在这种情况下使用的实际mime类型是:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
我怎么知道?这就是我所做的:
mimetypes.rdf
mimetypes.rdf
内找到了与我最近下载的excel文件对应的记录/资源