【问题标题】:Download excel file in current folder instead of "downloads"在当前文件夹中下载 excel 文件而不是“下载”
【发布时间】:2021-12-20 04:39:28
【问题描述】:

我正在尝试从网站下载使用 Python 中的 Selenium 的 excel 文件 我需要将文件下载到当前文件夹而不是“下载”

但它不工作,它正在下载文件夹中下载它

mime_types = [
    'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
]
options = Options()
options.set_preference("browser.download.folderList",2)
options.set_preference("browser.download.manager.showWhenStarting", False)
options.set_preference("browser.download.dir","./")
options.set_preference("browser.helperApps.neverAsk.saveToDisk", ",".join(mime_types))

s = Service(GeckoDriverManager().install())
driver = webdriver.Firefox(service=s, options=options)

driver.get("https://chartink.com/screener/close-below-bb-205")
WebDriverWait(driver, 2).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[2]/div[2]/div[2]/div/div/div/div[2]/div/div[2]/div[6]/div[1]/div/div[1]/div/button[3]"))).click()

请告诉我代码有什么问题?

【问题讨论】:

    标签: python python-3.x selenium selenium-webdriver selenium-firefoxdriver


    【解决方案1】:

    要在指定目录中使用 Python 中的 Selenium 下载文件,您需要调整以下 about:config 条目:


    解决方案

    因此,一个可行的解决方案是创建一个 FirefoxProfile,然后创建一个新目录以便稍后下载其中的文件,如下所示:

    newpath = 'C:\\home\\vivvin\\shKLSE'
    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);
    

    参考

    您可以在以下位置找到一些详细的讨论:

    【讨论】:

    • 如何在“driver = webdriver.Firefox(service=s)”中使用此配置文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多