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

Python Selenium如何定位并获取文本为51,756 results的对应元素

Python Selenium 定位结果统计文本的正确方案

原代码错误原因

  • 调用find_element_by_class_name()时不允许传入多个空格分隔的类名,该方法仅支持传入单个类名参数
  • XPath表达式错误匹配了h1标签,实际目标文本所在的元素是small标签,标签类型匹配错误

正确实现方式

方法1:通过标签+类属性组合定位XPath

# 直接匹配small标签的类属性,获取文本
result_text = driver.find_element(By.XPATH, '//small[@class="t-white display-flex t-12 t-black--light t-normal"]').text.strip()

方法2:通过aria-live属性定位(更稳定)

# aria-live是语义化无障碍属性,业务迭代时改动概率远低于class,定位可靠性更高
result_text = driver.find_element(By.XPATH, '//small[@aria-live="polite"]').text.strip()

方法3:匹配文本内容定位

# 模糊匹配包含results关键词的元素
result_text = driver.find_element(By.XPATH, '//small[contains(text(), "results")]').text.strip()

注意事项

  • Selenium 4.0+版本已废弃find_element_by_xxx写法,使用上述方法前需要先导入By类:
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)
result_element = wait.until(EC.presence_of_element_located((By.XPATH, '//small[@aria-live="polite"]')))
result_text = result_element.text.strip()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:06:07