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

如何使用Selenium和Python定位div元素?解决找不到元素异常

解决Selenium无法定位多类名元素的问题

问题根源

你使用By.CLASS_NAME时传入了多个类名(_13NKt copyable-text selectable-text),但这个方法仅支持单个类名,Selenium会把空格分隔的字符串当成一个完整的类名去匹配,自然找不到目标元素。

正确定位方法

方法1:CSS选择器(推荐)

CSS选择器支持通过.连接多个类名来定位元素,这是处理多类名元素最常用的方式:

element = driver.find_element(By.CSS_SELECTOR, "._13NKt.copyable-text.selectable-text")

方法2:单个唯一类名

如果_13NKt这个类在页面中是唯一的,直接用它定位更简洁:

element = driver.find_element(By.CLASS_NAME, "_13NKt")

方法3:XPATH定位

通过匹配完整的class属性值来定位:

element = driver.find_element(By.XPATH, "//div[@class='_13NKt copyable-text selectable-text']")

额外注意事项

如果以上方法还是找不到元素,可能是以下原因:

  • 元素位于iframe内:需要先切换到对应的iframe,再进行定位
  • 元素需要等待加载:建议使用显式等待确保元素已加载完成,示例代码:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 等待10秒,直到元素出现
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, "._13NKt.copyable-text.selectable-text"))
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 05:36:18