Repolode
g1879

g1879/DrissionPage

基于 Python 的网页自动化库,可控制浏览器、收发数据包,并能将两者结合使用。

可替代:Selenium

Star
12,561
Fork
1,141
未关闭 Issue
262
最近提交
11天前

这是什么?

DrissionPage 是一个基于 Python 的网页自动化库,既能控制浏览器,也能直接收发 HTTP 数据包,还可以在同一个脚本中两者切换,兼顾浏览器自动化的便利与 requests 的效率。

它的内核为自研实现,不依赖 WebDriver,因此无需为不同版本的浏览器单独下载驱动。查找元素时可以跨 iframe 进行,无需手动切入切出;同时操作多个标签页也不必来回切换;整页截图可包含视口外的内容,并能处理非 open 状态的 shadow-root。

库内集成了简洁的定位语法、无处不在的等待与自动重试、下载工具、复用已打开浏览器以及基于 ini 文件的配置管理。解析引擎使用 lxml,同时提供 POM 模式的封装,便于用于测试和扩展。

核心功能

  • 01同一套 API 既能控制浏览器,也能收发 HTTP 请求
  • 02基于自研内核,不依赖 WebDriver,无需匹配浏览器版本的驱动
  • 03可跨 iframe 查找元素,无需切入切出
  • 04支持整页截图,包括视口外的内容
  • 05可复用已打开的浏览器,方便调试
  • 06提供简洁的定位语法,内置等待与自动重试

适用场景

  • 抓取需要浏览器渲染或登录后才能访问的网页数据
  • 自动化表单填写、文件下载等重复性浏览器操作
  • 在浏览器会话与直接 HTTP 请求之间切换,降低开销
  • 以 POM 结构编写基于浏览器的端到端测试

使用前须知

  • 使用条款仅允许个人学习和合法非盈利用途,商业使用需获得版权持有人授权。
  • README 未给出安装命令,且元数据中的许可证信息不明确(NOASSERTION)。

收录于专题

标签

常见问题

DrissionPage 是什么?
基于 Python 的网页自动化库,可控制浏览器、收发数据包,并能将两者结合使用。 DrissionPage 是一个基于 Python 的网页自动化库,既能控制浏览器,也能直接收发 HTTP 数据包,还可以在同一个脚本中两者切换,兼顾浏览器自动化的便利与 requests 的效率。
DrissionPage 可以免费使用吗?用的什么许可证?
DrissionPage 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
DrissionPage 还在维护吗?
活跃维护中。DrissionPage 最近一次提交是在 2026年10月27日。
DrissionPage 适合用来做什么?
抓取需要浏览器渲染或登录后才能访问的网页数据 自动化表单填写、文件下载等重复性浏览器操作 在浏览器会话与直接 HTTP 请求之间切换,降低开销 以 POM 结构编写基于浏览器的端到端测试
在哪里获取 DrissionPage?
源代码和安装说明在 GitHub 上:https://github.com/g1879/DrissionPage

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目