You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用Selenium下载Excel无法保存到当前文件夹问题求助

代码存在的核心问题

  • 路径配置错误:Firefox的browser.download.dir偏好设置不支持相对路径,你传入的./无法被Firefox正确识别,会自动回退到系统默认下载目录。
  • 缺少强制使用自定义目录的配置:没有显式开启browser.download.useDownloadDir参数为True,部分Firefox版本会忽略自定义下载路径配置。
  • 可选优化:你设置的元素等待时间仅2秒,页面资源未完全加载时容易触发元素找不到的报错。

修正后的代码

首先导入os模块用来获取当前工作目录的绝对路径,修改配置部分即可:

import os
from selenium.webdriver import Firefox, Options
from selenium.webdriver.firefox.service import Service
from webdriver_manager.firefox import GeckoDriverManager
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# 获取当前工作目录的绝对路径
current_dir = os.getcwd()

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", current_dir)
# 新增配置:强制使用自定义下载目录
options.set_preference("browser.download.useDownloadDir", True)
options.set_preference("browser.helperApps.neverAsk.saveToDisk", ",".join(mime_types))

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

driver.get("https://chartink.com/screener/close-below-bb-205")
# 建议把等待时间调整为10秒,避免页面加载慢导致报错
WebDriverWait(driver, 10).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()

内容的提问来源于stack exchange,提问作者Ashish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:24:04