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

Selenium点击href="#"元素下载CSV文件失败问题求助

解决Zerodha Kite持仓CSV下载的Selenium点击问题

问题背景

尝试在Zerodha Kite网站通过Selenium点击按钮导出股票持仓CSV文件,但点击操作失败。相关元素代码如下:

<span class="download-csv link"><span class="icon icon-download"></span>Download
                <a href="#" class="hide download-link"></a></span>

用户原实现代码:

element = driver.find_element(by = By.LINK_TEXT, value="Download")
element.click()

下载按钮样式:
下载按钮样式

解决方案

1. 定位外层可交互元素点击

页面中外层的<span class="download-csv link">是实际接收点击事件的区域,改用CSS选择器定位并等待元素可点击后操作:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 等待元素加载完成并可点击
download_btn = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, "span.download-csv.link"))
)
download_btn.click()

2. 强制触发隐藏的下载链接

页面内的<a class="hide download-link">是实际触发下载的核心元素,虽被样式隐藏,可通过JavaScript强制执行点击:

download_link = driver.find_element(By.CSS_SELECTOR, "a.download-link")
driver.execute_script("arguments[0].click();", download_link)

3. 配置浏览器下载参数(避免无文件输出)

若点击后无文件下载,需提前配置浏览器下载路径并关闭弹窗提示:

from selenium.webdriver.chrome.options import Options
from selenium import webdriver

options = Options()
options.add_experimental_option("prefs", {
    "download.default_directory": "/自定义/下载/路径",
    "download.prompt_for_download": False,
    "download.directory_upgrade": True,
    "safebrowsing.enabled": True
})
driver = webdriver.Chrome(options=options)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 06:15:43