나는 자동으로 Excel 파일을 다운로드하려고하는 python 스크립트가 있습니다. 나는 파이어 폭스 프로파일을 직접적으로 처리하려고 시도했다. 그리고 그것은 잘 작동한다. :set_preference가 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.set_preference('browser.helperApps.neverAsk.saveToDisk', ('application/vnd.ms-excel'))
에 선 fp.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/csv/xls/xlsx')
을 변경
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()
; 그러나 아무 변화도 없었다.
나는 무엇이 잘못 되었습니까?
편집 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")
을 시도
결과에서는 아무 변경 사항도 없습니다.
문제가 해결되지 않았습니다. –
@ZeinabAbbasi 다운로드 할 파일의 MIME 유형을 확인할 수 있습니까? – alecxe
확장자는'.xlsx'입니다. 그것은 Microsoft Excel 2007 파일입니다. 하지만 코드에서 MIME 형식을 확인하는 방법을 모르겠습니다. 제발 도와 줄 수 있니? –