我尝试了各种方法,但我无法下载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()
答案 0 :(得分:0)
我提到错误的MIME类型。 MIME类型要求下载文件为'application / ms-excel'。如果某人仍然无法解决MIME类型错误,我建议使用https://stackoverflow.com/users/771848/alecxe方法来获取MIME类型。
•使用Firefox手动下载文件,选中“自动保存此文件类型”复选框 •打开帮助 - > firefox浏览器中的信息疑难解答 •找到“配置文件夹”按钮,单击它 •在profile文件夹中找到mimeTypes.rdf文件 •在文本编辑器中打开文件并查找那里提到的mimetypes - 以urn开头的XML节点属性值:mimetype •使用您在browser.helperApps.neverAsk.saveToDisk逗号分隔值中找到的mimetypes