Download and save multiple csv files using selenium and python from popup Download and save multiple csv files using selenium and python from popup selenium selenium

Download and save multiple csv files using selenium and python from popup


Here is the Answer to your Question:

The element you referred as find_element_by_id("submit-download-list") actually downloads a PDF file. So for the benefit of future programmers and readers of this question/post/thread/discussion, you may consider to change your question header to Download and Save PDF file using selenium and python from popup

Here is the code block to Download and Save PDF file using selenium and python from popup:

import osfrom selenium import webdriverfrom selenium.webdriver.firefox.firefox_binary import FirefoxBinaryfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.by import Bybinary = FirefoxBinary('C:\\Program Files\\Mozilla Firefox\\firefox.exe')newpath = 'C:\\home\\DebanjanB'if not os.path.exists(newpath):    os.makedirs(newpath)profile = webdriver.FirefoxProfile()profile.set_preference("browser.download.dir",newpath)profile.set_preference("browser.download.folderList",2)profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/plain,text/x-csv,text/csv,application/vnd.ms-excel,application/csv,application/x-csv,text/csv,text/comma-separated-values,text/x-comma-separated-values,text/tab-separated-values,application/pdf")profile.set_preference("browser.download.manager.showWhenStarting",False)profile.set_preference("browser.helperApps.neverAsk.openFile","text/plain,text/x-csv,text/csv,application/vnd.ms-excel,application/csv,application/x-csv,text/csv,text/comma-separated-values,text/x-comma-separated-values,text/tab-separated-values,application/pdf")profile.set_preference("browser.helperApps.alwaysAsk.force", False)profile.set_preference("browser.download.manager.useWindow", False)profile.set_preference("browser.download.manager.focusWhenStarting", False)profile.set_preference("browser.helperApps.neverAsk.openFile", "")profile.set_preference("browser.download.manager.alertOnEXEOpen", False)profile.set_preference("browser.download.manager.showAlertOnComplete", False)profile.set_preference("browser.download.manager.closeWhenDone", True)profile.set_preference("pdfjs.disabled", True)caps = DesiredCapabilities.FIREFOXbrowser = webdriver.Firefox(firefox_profile=profile, capabilities=caps, firefox_binary=binary, executable_path='C:\\Utility\\BrowserDrivers\\geckodriver.exe')browser.maximize_window()browser.get("https://clinicaltrials.gov/ct2/results?cond=&term=lomitapide&cntry1=&state1=&SearchAll=Search+all+studies&recrs=")browser.find_element_by_id("save-list-link").click()download_link = WebDriverWait(browser, 10).until(    EC.presence_of_element_located((By.XPATH, "//input[@id='submit-download-list']")))download_link.click()

Let me know if this Answers your Question.


You are getting the exception ElementNotInteractableException because the element will be accessible after once the popup opens up. You are missing to click the download link which opens up the popup. please try the following,

from selenium import webdriverfp=webdriver.FirefoxProfile()fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv")browser = webdriver.Firefox(fp)browser.get("https://clinicaltrials.gov/ct2/results?cond=&term=lomitapide&cntry1=&state1=&SearchAll=Search+all+studies&recrs=")browser.find_element_by_id("save-list-link").click()browser.find_element_by_id("submit-download-list")