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

如何用Selenium和Python下载CSV文件?解决点击报错问题

问题解决方案

一、修复点击按钮的报错

AttributeError: 'WebElement' object has no attribute 'clic'是拼写错误——Selenium中WebElement的点击方法是click(),你少打了末尾的字母k。

把代码最后一行改成:

revenues_download.click()

另外,建议加个显式等待,确保元素加载完成再点击,避免页面未加载完全导致的异常:

# 替换原来的查找和点击代码
revenues_download = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, "body > header > div.container > div > div.col-lg-auto.pt-2.pt-xl-0.submenu > a:nth-child(1)"))
)
revenues_download.click()

二、解决直接用get方法下载CSV的问题

直接调用链接出错,主要是Chrome默认下载设置的问题,或者会话凭证未同步。可以按下面的方法处理:

1. 配置Chrome自动下载

先设置Chrome的下载参数,指定保存路径并关闭下载提示:

from selenium.webdriver.chrome.options import Options

# 替换成你要保存文件的路径
download_dir = r"C:/Users/Desktop/test/downloads"

chrome_options = Options()
chrome_options.add_experimental_option("prefs", {
    "download.default_directory": download_dir,
    "download.prompt_for_download": False,
    "download.directory_upgrade": True,
    "safebrowsing.enabled": True
})

# 初始化driver时传入配置
driver = webdriver.Chrome(executable_path=r'C:/Users/Desktop/test/chromedriver.exe', options=chrome_options)

2. 调用下载链接

登录后直接获取按钮的href属性,用driver.get()访问:

# 获取下载链接
download_url = revenues_download.get_attribute("href")
# 触发下载
driver.get(download_url)

如果还是不行,用requests配合Selenium的Cookie下载更稳定:

import requests

# 把Selenium的Cookie转换成requests可用的格式
cookies = {c['name']: c['value'] for c in driver.get_cookies()}

# 发起请求下载
resp = requests.get(download_url, cookies=cookies)
# 保存文件
with open(f"{download_dir}/Revenues.csv", "wb") as f:
    f.write(resp.content)

额外的代码优化点

  • 避免使用绝对XPATH(比如/html/body/div[2]/div/div/form/p[1]/input),页面结构一旦变化就会失效,建议用相对定位,比如通过name属性找用户名输入框:driver.find_element(By.NAME, "username")(需对应实际HTML的name属性)
  • 你初始化driver的代码少了个右括号,修正:
driver = webdriver.Chrome(executable_path=r'C:/Users/Desktop/test/chromedriver.exe')  # 补上最后的)

内容的提问来源于stack exchange,提问作者Felipe Escobar R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 03:15:45