我尝试了各种方法,但我无法下载excel文件。我总是最终看到firefox弹出窗口盯着我看。任何想法如何让这个工作
import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2) # customlocation
profile.set_preference('browser.download.dir','/home/rahul')
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.panel.shown', False)
profile.set_preference('browser.helperApps.neverAsk.saveToDisk','application/vnd.ms-excel, application/vnd.ms-excel.addin.macroenabled.12,application/vnd.ms-excel.sheet.binary.macroenabled.12,application/vnd.ms-excel.template.macroenabled.12,application/vnd.ms-excel.sheet.macroenabled.12,application/octet-stream')
profile.set_preference("browser.helperApps.alwaysAsk.force", False)
profile.set_preference("browser.download.manager.alertOnEXEOpen", False)
profile.set_preference("browser.download.manager.focusWhenStarting", False)
profile.set_preference("browser.download.manager.useWindow", False)
profile.set_preference("browser.download.manager.showAlertOnComplete", False)
profile.set_preference("browser.download.manager.closeWhenDone", False)
driver = webdriver.Firefox(profile)
driver.get('any_url')
driver.wait = WebDriverWait(driver, 5)
time.sleep(5)
export = driver.wait.until(EC.element_to_be_clickable((By.ID, "ExportSpn"))).click()
time.sleep(5)
driver.quit()
我提到错误的MIME类型。 MIME类型要求下载文件为'application / ms-excel'。如果有人仍然遇到错误的MIME类型问题,我建议使用https://stackoverflow.com/users/771848/alecxe方法来获取MIME类型。
•使用Firefox手动下载文件,选中“自动保存此文件类型”复选框•在Firefox浏览器中打开帮助 - >疑难解答信息•找到“配置文件夹”按钮,单击它•在配置文件文件夹中找到mimeTypes.rdf文件•在文本编辑器中打开文件并查找那里提到的mimetypes - 以urn开头的XML节点属性值:mimetype•使用你在browser.helperApps.neverAsk.saveToDisk逗号分隔值中找到的mimetypes