
本文介绍如何利用 selenium 4.8 配合显式等待和 xpath 定位,从嵌套 html 列表(`
在 Web 自动化与数据采集场景中,精准定位并提取结构化链接是常见需求。当目标链接深嵌于多层容器(如
0
0

本文介绍如何利用 selenium 4.8 配合显式等待和 xpath 定位,从嵌套 html 列表(`
在 Web 自动化与数据采集场景中,精准定位并提取结构化链接是常见需求。当目标链接深嵌于多层容器(如
以下为完整、健壮的实现方案:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
# 初始化 WebDriver(以 Chrome 为例)
chrome_options = Options()
chrome_options.add_argument("--headless") # 无头模式,可选
driver = webdriver.Chrome(options=chrome_options)
try:
driver.get("https://example.com") # 替换为目标网址
# 显式等待:最多等待 25 秒,直到所有匹配的 <a> 元素出现在 DOM 中
wait = WebDriverWait(driver, 25)
link_elements = wait.until(
EC.presence_of_all_elements_located(
(By.XPATH, '//li//h4[@class="programme titles"]/a[@class="br-blocklink__link"]')
)
)
# 提取所有 href 属性,过滤掉 None 值(避免空链接)
href_list = [elem.get_attribute("href") for elem in link_elements if elem.get_attribute("href")]
print(f"成功提取 {len(href_list)} 个有效链接:")
for i, url in enumerate(href_list, 1):
print(f"{i}. {url}")
# 后续可遍历处理每个链接,例如:
# for url in href_list:
# driver.get(url)
# # ... 解析详情页内容
finally:
driver.quit() # 确保资源释放✅ 关键要点说明:
⚠️ 注意:Selenium 不适用于大规模静态爬取(推荐 Requests + BeautifulSoup);若目标网站反爬严格,请配合 User-Agent 轮换、合理延时及遵守 robots.txt。
立即学习“Python免费学习笔记(深入)”;
相关文章
html转docx格式 网页文件怎么转word【文档】
html格式怎么转换成PDF_html转PDF工具与保存方法【推荐】
txt文本怎么改成html_txt转html文件方法【攻略】
怎么保存为html格式_保存为html格式方法【教程】
html文档怎么转换成word文档_html文档怎么转换成word格式【方法】
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
Python爬虫可以通过请求库发送HTTP请求、解析库解析HTML、正则表达式提取数据,或使用数据抓取框架来获取数据。更多关于Python爬虫相关知识。详情阅读本专题下面的文章。php中文网欢迎大家前来学习。
293
2023.11.13
if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。
846
2023.08.22
dom的英文全称是documentobjectmodel,表示文件对象模型,是w3c组织推荐的处理可扩展置标语言的标准编程接口;dom是html文档的内存中对象表示,它提供了使用javascript与网页交互的方式。想了解更多的相关内容,可以阅读本专题下面的文章。
4327
2024.08.14
li是HTML标记语言中的一个元素,用于创建列表。li代表列表项,它是ul或ol的子元素,li标签的作用是定义列表中的每个项目。本专题为大家li元素相关的各种文章、以及下载和课程。
436
2023.08.03
本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。
66
2025.12.13
本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。
9
2026.03.11
本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。
22
2026.03.10
热门下载
相关下载
精品课程
最新文章
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号