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

Selenium报错:'function' object has no attribute 'click'问题求助

问题解决:AttributeError: 'function' object has no attribute 'click'

你遇到的核心问题是错误地将预期条件函数本身赋值给了变量,而非获取到实际的页面元素对象。

EC.element_to_be_clickable是Selenium提供的一个预期条件函数,它本身并不是页面元素。你直接把它赋值给button变量,导致button实际上是一个函数对象,而非可操作的WebElement,所以调用click()时会抛出属性错误。

修正后的代码

首先确保你已经导入WebDriverWait:

from selenium.webdriver.support.ui import WebDriverWait

然后替换你原来的按钮定位代码:

# 等待10秒,直到元素可点击,返回实际的WebElement对象
button = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.XPATH,'.//button[contains(@class,"Component-button-d")]'))
)
button.click()

补充说明

  1. WebDriverWait().until()会执行传入的预期条件函数,直到元素满足条件(这里是可点击),然后返回对应的页面元素实例。
  2. 不需要额外的if button:判断——如果until()超时未找到符合条件的元素,会直接抛出TimeoutException,能执行到button.click()就说明元素已经存在且可点击。
  3. 你的XPath是正确的,所以修正后应该能正常点击目标按钮。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:50:31