基于 Selenium 的 Python 浏览器自动化库,可按页面可见文字而非 CSS 选择器或 XPath 定位元素。
- 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 数据每日更新。
相关项目
8320514PythonMIT更新于 16天前
用高级 API 控制 Chrome 或 Firefox 的 JavaScript 库,默认无界面运行。
9.6万+35 本周9593TypeScriptApache-2.0更新于 19小时前
基于 Playwright 的 Go 浏览器自动化库,用统一 API 控制 Chromium、Firefox 和 WebKit。
3539+6 本周250GoMIT维护活跃更新于 前天
用统一 API 自动化控制 Chromium、Firefox 和 WebKit 浏览器的 Python 库,支持同步与异步两种调用方式。
1.5万+9 本周1255PythonApache-2.0更新于 昨天
基于 Chrome DevTools Protocol 的 Go 浏览器自动化与爬虫库,支持自动等待元素。
7145+3 本周489GoMIT更新于 3个月前
一个用于自动化网站交互的 Python 库,可自动处理 Cookie、跟随链接和提交表单。
4901+3 本周406PythonMIT更新于 上个月