首页 / DrissionPage 入门教程 / 认识 DrissionPage

DrissionPage 入门教程

认识 DrissionPage

本教程共 42 篇 · 第 1 篇 · 更新于 2026-07-29 · 约 5 分钟阅读

DrissionPageDrissionPage 入门教程网页自动化seleniumrequests

1. 认识 DrissionPage

本节目标:搞懂 DrissionPage 是什么、解决什么问题、和同类工具比有什么优势。学完能对这门技术有个整体印象。

网页自动化常见的两种方式:直接发数据包,或者控制浏览器操作页面。

前者轻量快速,像 requests 库就是典型代表。但遇到加密参数或复杂请求时,调试难度直线上升。

后者直观可靠,像 selenium 就是浏览器自动化的老牌工具。但性能偏低,而且不能同时收发数据包。

DrissionPage 把两者整合到了一起。

Driver + Session 合体

这个名字就是它的设计哲学。

Driver 是操作浏览器的对象,Session 是管理网络连接的对象。Drission = Driver + Session。

从 3.0 版本开始,作者放弃了基于 selenium 和 requests 的封装方案。重新实现了底层功能,脱离了对这两个库的依赖。

这意味着:功能更多、运行更快、开发更灵活。

4.0 版本在 3.0 经验上做了底层重构,逻辑更合理,API 更统一。我们教程使用的 4.1.1.4 就是这个体系下的版本。

与 selenium、requests 的关系

DrissionPage 和 selenium、requests 不是替代关系,是升级关系。

它吸收了 selenium 控制浏览器的能力,也融合了 requests 高效收发数据的能力。

来看个最直观的例子:

# DrissionPage 定位包含"abc"文本的元素
ele = tab('abc')

# selenium 写法
ele = driver.find_element(By.XPATH, '//*[contains(text(), "abc")]')

# requests 获取页面后需要再用 lxml 解析
response = requests.get(url)
tree = etree.HTML(response.text)
ele = tree.xpath('//*[contains(text(), "abc")]')

DrissionPage 一行代码搞定的事,selenium 要写复杂的 xpath,requests 还得搭配解析库。

核心架构

DrissionPage 以页面为基本操作单位。

操作逻辑很简单:创建页面对象 -> 获取元素对象 -> 读取或操作元素。

整个库有三种页面对象:

  • ChromiumPage:控制浏览器,自带标签页
  • SessionPage:只收发数据包,不启动浏览器
  • WebPage:既能控制浏览器,也能收发数据包

这三种对象覆盖了网页自动化的所有场景。后面章节会详细展开。

TIP:如果你觉得概念有点抽象,没关系。后面的章节会结合实际操作帮你理解。先有个整体印象就够了。

上一篇
已经是第一篇啦
下一篇
安装与环境搭建