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

Python Selenium使用XPath获取job-title和href返回空值问题求助

代码存在的问题及修正方案
  • find_elements返回值处理错误:find_elements_by_xpath 返回的是符合条件的元素列表,不是单个元素,你在try块中直接把列表赋值给title,没有调用get_attribute方法,自然拿不到属性值。如果确定每个卡片下只有一个job-title链接,应该用find_element_by_xpath(不带s)获取单个元素。
  • try-except逻辑完全错误:当前try块里只有查找元素的操作,只要能找到元素就不会进入except分支,获取属性的逻辑永远不会执行。
  • 属性获取逻辑错误:你要拿的是a标签的href属性和job-title属性,一是不能给父级的job(job-info-wrapper div元素)调用get_attribute("a href"),不存在这个属性,必须先定位到a标签再调用属性获取方法;二是你get_attribute传入的job-title属性名带了多余尾部空格,会导致找不到对应属性。
  • XPath匹配冗余空格问题:你写的XPath里class值带了不必要的尾部空格(比如"job-title "最后的空格),如果页面元素class属性没有对应尾部空格,会导致匹配失败。

修正后代码

job_card = driver.find_elements_by_xpath('//div[contains(@class,"job-info-wrapper")]')
titles = []
links = []

for job in job_card:
    try:
        # 先定位到单个a标签元素
        job_a_ele = job.find_element_by_xpath('.//a[contains(@class, "job-title")]')
        # 获取job-title属性
        title = job_a_ele.get_attribute("job-title")
        titles.append(title)
        print(title)
        # 获取href属性
        link = job_a_ele.get_attribute("href")
        links.append(link)
    except Exception as e:
        # 单个卡片提取失败可打印异常排查,不影响其他卡片遍历
        print(f"单条职位信息提取失败:{e}")

内容的提问来源于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.26 22:36:02