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

Python Selenium中变量调用element.click()报错及Excel保存问题求助

问题排查与解决

错误核心原因

你这里的问题出在变量赋值逻辑错误:
当你执行element_to_click=driver.find_element(By.ID,"onetrust-accept-btn-handler").click()时,click()方法本身没有返回值(返回None),所以element_to_click被赋值成了None。后续再调用element_to_click.click(),本质是在调用None.click(),这必然会抛出AttributeError。

修正后的代码

把元素查找和点击操作拆分,先获取元素对象再调用点击方法,同时补充Excel保存的正确实现:

from selenium import webdriver
from selenium.webdriver.common.by import By
import pandas as pd  # 导入pandas处理Excel保存

driver = webdriver.Chrome(r"C:\Users\Admin\Downloads\chromedriver_win32 (1)\chromedriver.exe")
driver.get("https://www.nba.com/schedule?pd=false&region=1")
driver.implicitly_wait(30)

# 先获取元素对象,再单独调用click()
element_to_click = driver.find_element(By.ID,"onetrust-accept-btn-handler")
element_to_click.click()

# 提取元素文本并保存到Excel
element_to_save = driver.find_element(By.XPATH,"//div/div/div/div/h4")
# Selenium元素没有to_excel方法,用pandas转成DataFrame再保存
df = pd.DataFrame([[element_to_save.text]], columns=["赛事标题"])
df.to_excel("nba_schedule.xlsx", index=False)

driver.quit()

额外补充说明

  • 你原来注释的element_to_save.to_excel(...)无法运行,因为Selenium的元素对象本身没有to_excel方法,必须借助pandas库来完成Excel写入,执行前需要先安装依赖:pip install pandas openpyxl(openpyxl是处理xlsx格式的必要依赖)。
  • 如果要提取多个同类型元素,把find_element改成find_elements(复数形式),遍历提取文本后再存入DataFrame即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:05:28