从弹出窗口使用selenium和python下载并保存多个csv文件

我想从“

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文件。因此,为了将来程序员和该问题/帖子/线程/讨论的读者的利益,您可以考虑将问题标题更改为

这是从弹出窗口使用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()

让我知道这是否回答了您的问题。

以上是 从弹出窗口使用selenium和python下载并保存多个csv文件 的全部内容, 来源链接: utcz.com/qa/408691.html

回到顶部