Python Selenium:Firefox neverAsk.saveToDisk 从 Blob 下载时 URL
Python Selenium: Firefox neverAsk.saveToDisk when downloading from Blob URL
我希望 Firefox 使用 selenium
for Python 从这里下载 主数据(下载,XLSX) Excel 文件Frankfurt stock exchange webpage.
问题:如果不先询问保存位置,我无法让 Firefox 下载文件。
首先让我指出,我试图从中获取 Excel 文件的 URL 实际上是一个 Blob URL:
也许是 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()
本例中实际使用的 MIME 类型是:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
我怎么知道的?这是我所做的:
- 手动打开 Firefox 并导航到目标站点
- 下载文件时,勾选了自动保存这些文件的复选框
- 转到“帮助”->“故障排除信息”并导航到 "Profile Folder"
- 在个人资料文件夹中,找到并打开
mimetypes.rdf
- 在
mimetypes.rdf
中找到 record/resource 对应于我最近下载的 excel 文件
我希望 Firefox 使用 selenium
for Python 从这里下载 主数据(下载,XLSX) Excel 文件Frankfurt stock exchange webpage.
问题:如果不先询问保存位置,我无法让 Firefox 下载文件。
首先让我指出,我试图从中获取 Excel 文件的 URL 实际上是一个 Blob URL:
也许是 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()
本例中实际使用的 MIME 类型是:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
我怎么知道的?这是我所做的:
- 手动打开 Firefox 并导航到目标站点
- 下载文件时,勾选了自动保存这些文件的复选框
- 转到“帮助”->“故障排除信息”并导航到 "Profile Folder"
- 在个人资料文件夹中,找到并打开
mimetypes.rdf
- 在
mimetypes.rdf
中找到 record/resource 对应于我最近下载的 excel 文件