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

Selenium WebDriver无法定位并点击AGREE按钮问题求助

问题解决方法

你的报错原因是:By.CLASS_NAME不支持包含空格的选择器,而且你传入的类名" css-47sehv"开头带空格,这属于无效的类名格式(HTML中class属性的开头空格会被浏览器忽略,实际有效类名是css-47sehv)。

以下是几种可行的解决方式:

方式一:修正CLASS_NAME参数

去掉类名开头的空格,直接使用有效类名:

driver.find_element(By.CLASS_NAME, "css-47sehv").click()

方式二:使用CSS选择器定位

CSS选择器支持更灵活的定位规则,推荐用以下几种写法:

  • 通过父容器+按钮位置定位(第二个按钮):
driver.find_element(By.CSS_SELECTOR, ".qc-cmp2-summary-buttons button:nth-child(2)").click()
  • 直接通过类名定位(和CLASS_NAME等价,但更稳定):
driver.find_element(By.CSS_SELECTOR, ".css-47sehv").click()

方式三:通过按钮文本定位(XPATH)

如果类名可能动态变化,通过按钮内的文本定位更可靠:

driver.find_element(By.XPATH, "//button[span/text()='AGREE']").click()

额外建议:添加显式等待

避免页面未加载完成导致的元素找不到问题,可加入显式等待:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
agree_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".css-47sehv")))
agree_button.click()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:55:13