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

如何用Python Selenium获取页面指定h2标题下的所有href属性?

解决方法:定位特定H2下的A标签获取HREF

你之前的问题出在:通过find_elements_by_class_name('entry-title')拿到的是<h2>元素本身,而<h2>标签并没有href属性——href是它内部的<a>标签的属性。所以得调整定位逻辑,直接定位到目标<a>标签,或者在找到<h2>后再去查找它内部的<a>标签。

下面给你几种可行的实现方式:

方法1:使用CSS选择器直接定位目标A标签

CSS选择器可以精准匹配class="entry-title"的<h2>下的所有<a>标签,代码如下:

# 定位所有符合条件的<a>元素
target_links = driver.find_elements_by_css_selector('h2.entry-title a')

# 遍历获取每个链接的href属性
for link in target_links:
    print(link.get_attribute('href'))

方法2:使用XPath定位目标A标签

XPath同样可以实现精准匹配,语法如下:

# 定位所有符合条件的<a>元素
target_links = driver.find_elements_by_xpath('//h2[@class="entry-title"]/a')

# 遍历获取每个链接的href属性
for link in target_links:
    print(link.get_attribute('href'))

方法3:先定位H2再查找内部的A标签

如果你想保留先找<h2>的逻辑,也可以在每个<h2>元素内部再查找<a>标签:

# 先获取所有class为entry-title的<h2>元素
title_elements = driver.find_elements_by_class_name('entry-title')

# 遍历每个<h2>,查找内部的<a>标签并获取href
for title in title_elements:
    a_tag = title.find_element_by_tag_name('a')
    print(a_tag.get_attribute('href'))

这三种方法都能精准获取你需要的链接,不会拿到页面上其他无关的<a>标签的href。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:58:19