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

Selenium Python遍历指定div内a标签并获取href链接的方法

问题背景

需求为遍历指定div元素内的所有锚点(a)元素,提取该div下所有a标签的链接,目标HTML结构如下:

<div class="List">
    <a class="selected" href="link">text 1</a>
    <a class="hoverable activable" href="link">text 2</a>
    <a class="hoverable activable" href="link">text 3</a>
    <a class="hoverable activable" href="link">text 4</a>
</div>

此前通过CSS选择器匹配包含特定字符串的href属性定位元素,因不同页面href属性值动态变化,该方案无法适配全量页面,原有问题代码如下:

lists = driver.find_elements(By.CSS_SELECTOR,'a[href*="dzdzdzd"]')
    s_links = []
    for i in lists :
        s_links.append(i.get_attribute('href'))
正确实现方案

核心逻辑为先锁定目标父级div容器,再在容器范围内检索所有a标签,不需要依赖href或a标签的class特征,适配性更强。
可直接运行的代码:

from selenium.webdriver.common.by import By

# 定位class为List的目标div容器
list_container = driver.find_element(By.CSS_SELECTOR, "div.List")
# 在容器范围内查找所有a标签
a_tags = list_container.find_elements(By.TAG_NAME, "a")

s_links = []
for tag in a_tags:
    href = tag.get_attribute("href")
    # 过滤无href属性的空标签
    if href:
        s_links.append(href)
方案优势
  • 查找范围被严格限制在目标div内部,不会抓取页面其他区域的a链接
  • 不依赖href的固定内容、a标签的class属性,只要父div的定位规则稳定,就能兼容所有同结构页面
  • 增加了空值判断,避免无href的a标签向结果列表写入None值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:48:20