【发布时间】:2014-09-09 12:10:34
【问题描述】:
我有一个尝试自动下载 excel 文件的 python 脚本。我尝试直接解决 Firefox 配置文件,它工作正常:
path = '\\path\\to\\firefox\\default\\profile\\'
fp = webdriver.FirefoxProfile(path)
driver = webdriver.Firefox(firefox_profile=fp)
driver.maximize_window()
driver.get('url')
driver.find_element_by_id('downloadButton').click()
time.sleep(5)
driver.close()
但是当我尝试以编程方式设置配置文件时,它不起作用;仍有下载弹窗:
fp = webdriver.FirefoxProfile()
fp.set_preference('browser.download.folderList', 2)
fp.set_preference('browser.download.manager.showWhenStarting', False)
fp.set_preference('browser.download.dir', os.getcwd())
fp.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/csv/xls/xlsx')
driver = webdriver.Firefox(firefox_profile=fp)
driver.maximize_window()
driver.get('url')
driver.find_element_by_id('downloadButton').click()
time.sleep(5)
driver.close()
我还把fp.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/csv/xls/xlsx')这一行改成了fp.set_preference('browser.helperApps.neverAsk.saveToDisk', ('application/vnd.ms-excel'));但没有任何变化。
知道我做错了什么吗?
编辑 1:
我试过了
fp.set_preference('browser.helperApps.neverAsk.saveToDisk', "text/plain, application/vnd.ms-excel, text/csv, text/comma-separated-values, application/octet-stream")
和
fp.set_preference('browser.helperApps.neverAsk.saveToDisk', "text/plain, application/vnd.ms-excel, text/csv, text/comma-separated-values, application/octet-stream, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
结果没有变化。
【问题讨论】:
标签: python firefox selenium-webdriver webdriver download