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

如何用Python的BeautifulSoup获取嵌套元素的aria-label属性

解决方案

你可以通过嵌套查找定位到目标元素,再提取aria-label属性值。具体是在每个views-row的div里,先找到H3标签,再定位H3内的div元素,最后获取该div的aria-label属性。

修改后的完整代码如下:

import requests
from bs4 import BeautifulSoup

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36'}

url = "https://artsci.calendar.utoronto.ca/search-courses?page=0"
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')

courses = soup.find_all('div', {'class': 'views-row'})

course_titles = []

for item in courses:
    # 嵌套查找目标div
    target_div = item.find('h3').find('div')
    # 提取属性值并添加到列表,加入判断避免结构异常报错
    if target_div and 'aria-label' in target_div.attrs:
        course_titles.append(target_div['aria-label'])

# 可打印结果验证
print(course_titles)

补充说明

  • 加入if判断是为了避免部分元素结构不符合预期时触发报错,提升代码稳定性。
  • 如果H3内的div有专属class,也可以用item.find('h3').find('div', {'class': '目标类名'})来更精准定位元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 08:42:34