Skip to content

实用指南

理论与实践相结合,为应对真实自动化挑战提供可行的模式。

“深度探讨”的其他部分探讨了 基础知识架构,而本节则为常见的自动化场景提供了 经过实战检验的实用指南。这些不是学术练习,而是通过生产使用提炼出来的模式。

指南的目的

您已经学过: - 基础知识 - CDP、异步、类型 - 架构 - 内部设计模式 - 网络 - 协议和代理 - 指纹识别 - 检测与规避

那么现在呢?您如何将这些知识应用于实际问题?

这就是指南的作用:连接理论与实践

实践智慧

“理论上,理论和实践是一样的。实践中,它们并非如此。” - 瑜伽·贝拉 (Yogi Berra)

指南将复杂的技术知识提炼为您可以立即使用的 可操作模式。它们向您展示了在生产中 哪些方法有效,而不仅仅是理论上可能的东西。

当前指南

CSS 选择器 vs XPath

→ 阅读选择器指南

用数据和最佳实践解决永恒的辩论。

在 CSS 选择器和 XPath 之间做出选择,无关偏好。关键在于理解 权衡性能特征可维护性

您将学到什么

  • 语法比较 - 常见模式的并排示例
  • 性能基准 - 真实的测量数据,而非神话
  • 强大功能 vs 简洁性 - 当 CSS 不够用时(文本匹配、轴)
  • 浏览器支持 - 兼容性和边缘情况
  • 最佳实践 - 何时使用哪种,应避免的反模式
  • 复杂示例 - 解决真实世界的选择器挑战

为什么这很重要:元素定位是自动化的 基础。选错工具,您将永远与选择器作斗争。明智地选择,自动化将变得简单明了。


即将推出

Asyncio 与并发自动化

将在未来版本中推出

深入探讨 Python 的 asyncio:事件循环内部原理、实用的并发模式以及真实世界的示例。

理解 asyncio 对 Pydoll 至关重要。本指南将全面分析 Python 的事件循环、并发原语,以及如何将它们应用于浏览器自动化而避免陷阱。

将涵盖

  • 事件循环内部原理asyncio.run() 是如何工作的、任务调度和执行流程
  • Async/Await 深入探讨:协程、future 和异步状态机
  • 并发原语gather()create_task()TaskGroup 以及何时使用它们
  • 速率限制:信号量、队列和节流策略
  • 真实世界示例:多标签页抓取、并行表单填充、协调的浏览器实例
  • 常见陷阱:阻塞事件循环、任务取消、异常传播
  • 性能分析:分析异步代码、识别瓶颈、优化 I/O

为什么这很重要:Asyncio 是 Pydoll 架构的动力源泉。掌握它,您就能在没有竞争条件或状态损坏的情况下实现真正的并发自动化。


架构模式与健壮的选择器

将在未来版本中推出

PageObject 模式、可维护的选择器以及用于可扩展自动化的架构方法。

从临时脚本转向结构化、可维护的自动化架构。学习可从简单脚本扩展到生产系统的模式。

将涵盖

  • PageObject 模式:封装页面结构、减少重复、提高可维护性
  • 健壮的选择器策略:构建能在页面变更后幸存的选择器,避免脆弱的定位器
  • 组件抽象:用于常见 UI 模式(模态框、下拉菜单、表格)的可重用组件
  • 等待策略:超越简单超时的智能等待模式
  • 状态管理:跨页面和流程管理自动化状态
  • 测试模式:如何构建易于测试的自动化代码
  • 真实世界架构:可用于生产的项目结构和组织

为什么这很重要:临时脚本和可维护自动化系统之间的区别在于架构。学习使您的代码能够适应变化的模式。


指南的理念

指南遵循一致的原则:

1. 可用于生产的代码

所有示例都是 完整且经过测试的,而不是伪代码或简化的演示。您可以复制粘贴并根据需要进行调整。

2. 真实世界的场景

指南解决的是在生产自动化中遇到的 实际问题,而不是虚构的例子。

3. 权衡分析

当存在多种方法时,指南会客观地 比较 它们,并提供优缺点,而不仅仅是“这是一种方法”。

4. 渐进的复杂性

从简单开始,逐步增加复杂性。首先是基本模式,然后是边缘情况和高级变体。

5. 突出显示反模式

明确展示 不该做什么,以及通过代码审查或生产调试发现的常见错误。

如何使用指南

指南是 参考材料,而不是按顺序学习的教程:

  • 浏览 与您当前问题相关的模式
  • 收藏 您需要重复使用的指南
  • 调整 示例以适应您的特定情境
  • 组合 来自多个指南的模式

不要按顺序从头到尾阅读。 不要在不理解权衡的情况下盲目复制。 不要使用过时的模式(请检查发布日期)。

贡献指南

有值得分享的模式吗?指南是 由社区驱动的

怎样才是一篇好的指南

  • 解决了在生产中遇到的 实际问题
  • 提供了 可工作的代码,而不仅仅是概念
  • 比较了 多种方法 并进行了权衡
  • 明确指出了 常见错误
  • 解释了 为什么,而不仅仅是 怎么做

有关提交指南,请参阅 贡献

指南 vs 功能文档

对两者的区别感到困惑吗?

功能文档 深度探讨指南
目的 教授 Pydoll 能做什么 展示如何解决问题
范围 单个方法/功能 多个功能组合
深度 API 参考 + 示例 模式 + 权衡 + 最佳实践
顺序 按组件构建 按问题构建
示例 简单、独立 复杂、可用于生产

使用功能文档:学习 Pydoll 的 API 使用指南:解决真实的自动化挑战

超越指南

掌握了实用模式之后:

指南提供 直接价值。架构提供 深刻理解。两者都能让您变得高效。


准备好学习实用模式了吗?

CSS 选择器 vs XPath 开始,掌握元素定位——这是所有自动化的基础。

更多指南即将推出。请给本仓库加星以保持更新!


请求一篇指南

您有什么希望被记录下来的自动化模式吗?请提交一个标题为“指南请求:[主题]”的 issue,描述:

  • 您试图解决的问题
  • 您到目前为止尝试了什么
  • 为什么现有文档没有涵盖它

我们将根据社区需求优先安排指南。

快速参考

现已推出: - CSS 选择器 vs XPath

即将推出: - Asyncio 与并发自动化 - 架构模式与健壮的选择器

时间表:根据社区反馈和生产经验添加新指南。