无法使用selenium python从url下载.XLS文件。总是最终得到Firefox下载弹出窗口

问题描述 投票:1回答:1

我尝试了各种方法,但我无法下载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()
python python-3.x selenium firefox selenium-webdriver
1个回答
0
投票

我提到错误的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

© www.soinside.com 2019 - 2024. All rights reserved.