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

使用Python和Selenium获取span标签文本时元素定位报错求助

问题排查与解决方案

存在的问题

  • XPath选择器和实际HTML结构完全不匹配:你定位的h2标签class属性为title,但目标HTML中h2的class是jobTitle jobTitle-color-purple,属性值不一致导致找不到元素。
  • 标签层级匹配错误:你在h2下查找a标签,但实际h2下的子元素是span标签,不存在a标签,必然触发找不到元素的报错。
  • 首段try逻辑中的td标签和a标签在你提供的HTML结构中完全不存在,所以一定会进入except分支,继续触发后续错误。

正确获取方法

根据需求可以分两种场景获取内容:

  1. 获取span标签的title属性值(即Director)
  2. 获取span标签的文本内容(即Director=)

旧版本Selenium(支持find_element_by_xpath的版本)

# 获取title属性值
title = job.find_element_by_xpath('.//h2[contains(@class,"jobTitle")]/span').get_attribute("title")
# 如需获取文本内容则替换为:
# title = job.find_element_by_xpath('.//h2[contains(@class,"jobTitle")]/span').text

XPath中用contains(@class,"jobTitle")是为了匹配多class属性的标签,避免因为class有多个值导致匹配失败。

新版本Selenium(已弃用find_element_by_*系列方法)

需要先导入By模块:

from selenium.webdriver.common.by import By

对应获取代码:

# 获取title属性值
title = job.find_element(By.XPATH, './/h2[contains(@class,"jobTitle")]/span').get_attribute("title")
# 如需获取文本内容则替换为:
# title = job.find_element(By.XPATH, './/h2[contains(@class,"jobTitle")]/span').text

内容的提问来源于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.28 04:15:05