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

Selenium运行报错NoSuchElementException无法定位元素问题求助

问题排查与修复方案

错误原因

你遇到的NoSuchElementException由三个错误操作导致:

  • 错误切换到了隐私政策相关的无关框架__tcfapiLocator,导致查找元素的上下文不在主页面
  • 跳转页面后没有等待目标元素加载完成就执行定位操作,元素还未渲染完成无法被捕获
  • 原有代码中存在笔误:使用find_element_by_id方法传入了xpath格式的参数

修复步骤

第一步:导入必要依赖

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

第二步:使用修复后的完整代码

driver = webdriver.Chrome(executable_path=r'你的chromedriver本地路径\chromedriver.exe')
driver.maximize_window()
driver.get("https://www.aesio.fr/")

# 等待隐私弹窗可点击后关闭
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='didomi-popup']/div/div/div/span"))).click()
# 等待Particulier板块可点击后点击
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='block-contenudelapageprincipale']/div[2]/div/div[2]/div"))).click()
# 等待en savoir plus按钮可点击后跳转
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='block-contenudelapageprincipale']/div[1]/div[1]/div[3]/p/a"))).click()

# 切回主文档,避免之前误切换到iframe的影响
driver.switch_to.default_content()
# 等待目标表单元素加载完成后点击
target = WebDriverWait(driver, 15).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='identite_particulier_civilite']/div[1]/label/span")))
target.click()

额外注意事项

  • 确保你的Chrome浏览器版本和chromedriver版本完全匹配,你当前使用的Chrome95版本需要下载对应v95的chromedriver
  • 目标表单元素没有放在任何iframe中,不需要执行任何切换iframe的操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 04:36:07