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

Selenium用XPath提取指定class的td标签文本失败,如何获取目标数值?

解决方法

问题原因

  • 原XPath的class匹配逻辑错误:contains(@class, 'day disabled fullcap alertClasstext')是判断class属性值里是否包含连续的整串字符,如果HTML中td的类名顺序和你写的不一致,就会匹配失败。
  • 可能存在元素未加载完成就执行查找的情况,导致找到的元素列表为空。
  • 部分场景下元素文本未直接暴露在渲染层,用.text无法获取到内容。

修复后的代码

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

# 加显式等待,确保目标元素已加载完成
wait = WebDriverWait(driver, 10)
# 每个类名单独匹配,不受类顺序影响
elems = wait.until(EC.presence_of_all_elements_located((By.XPATH, "//td[contains(@class, 'day') and contains(@class, 'disabled') and contains(@class, 'fullcap') and contains(@class, 'alertClasstext') and contains(@title, 'Slots Full')]")))

for elm in elems:
    # textContent可以拿到隐藏状态下的文本内容
    print(elm.get_attribute('textContent').strip())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:39:03