我想从“ https://clinicaltrials.gov/ct2/results?cond=&term=lomitapide&cntry1=&state1=&SearchAll=Search+all+studies&recrs= “网站上下载csv文件,如下所示:我收到异常“ ElementNotInteractableException”,无法下载页面
from selenium import webdriver fp=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("submit-download-list")
这是您问题的答案:
您所说的元素find_element_by_id("submit-download- list")实际上是下载PDF文件。因此,为了将来程序员和该问题/帖子/线程/讨论的读者的利益,您可以考虑将问题标题更改为 Download and Save PDF file using selenium and python from popup
find_element_by_id("submit-download- list")
PDF
Download and Save PDF file using selenium and python from popup
这是从弹出窗口使用selenium和python下载和保存PDF文件的代码块:
import os from selenium import webdriver from selenium.webdriver.firefox.firefox_binary import FirefoxBinary from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By binary = 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.FIREFOX browser = 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()
让我知道这是否回答了您的问题。