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

使用Python版Selenium 4.8提取网站指定链接的技术问询

使用Selenium 4.8提取指定层级的链接href列表(Python)

核心解决方案

结合Selenium的元素定位和等待机制,可精准提取目标链接的href属性,以下是可直接运行的代码示例:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# 初始化Chrome驱动(确保ChromeDriver路径配置正确)
driver = webdriver.Chrome()

try:
    # 访问目标页面
    driver.get("你的目标网站URL")

    # 等待目标链接元素加载完成(最多等待10秒)
    # 用CSS选择器匹配指定层级的<a>标签
    links = WebDriverWait(driver, 10).until(
        EC.presence_of_all_elements_located(
            (By.CSS_SELECTOR, "li div.programme_body h4 a.br-blocklink__link")
        )
    )

    # 提取所有有效href到列表(过滤空值)
    href_list = [link.get_attribute("href") for link in links if link.get_attribute("href")]

    # 输出结果(替换为你的后续处理逻辑)
    print(href_list)

finally:
    # 确保浏览器驱动关闭
    driver.quit()

关键说明

  • 精准定位:CSS选择器li div.programme_body h4 a.br-blocklink__link严格匹配你提供的HTML层级,避免抓取无关链接。
  • 动态加载适配:WebDriverWait配合presence_of_all_elements_located等待页面加载完成,解决动态渲染导致的元素无法定位问题。
  • 空值过滤:列表推导式中加入判断条件,自动剔除无效的空链接。

备选定位方式

若偏好XPath,可替换为以下定位器:

(By.XPATH, "//li//div[@class='programme_body']//h4//a[@class='br-blocklink__link']")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:35:43