DrissionPage® 是一个基于 python 的网页自动化工具。它既能控制浏览器,也能收发数据包,还能把两者合而为一。可兼顾浏览器自动化的便利性和 requests 的高效率。它功能强大,内置无数人性化设计和便捷功能。它的语法简洁而优雅,代码量少,对新手友好。

特性

🎇强大的自研内核​

本库采用全自研的内核,内置了无数实用功能,对常用功能作了整合和优化,对比 selenium,有以下优点:

不依赖 webdriver,无需下载驱动。不依赖 webdriver,可以避免很多机器人检测。

运行速度更快

可以跨 iframe 查找元素,无需切入切出

把 iframe 看作普通元素,获取后可直接在其中查找元素,逻辑更清晰

可以同时操作浏览器中的多个标签页,即使标签页为非激活状态,无需切换

可以直接读取浏览器缓存来保存图片,无需用 GUI 点击另存

可以对整个网页截图,包括视口外的部分(90以上版本浏览器支持)

可处理非open状态的 shadow-root

DrissionPage 是一个基于 python 的网页自动化工具。

它既能控制浏览器,也能收发数据包,还能把两者合而为一。

可兼顾浏览器自动化的便利性和 requests 的高效率。

它功能强大,内置无数人性化设计和便捷功能。

它的语法简洁而优雅,代码量少,对新手友好。

🎇 亮点功能​

除了以上优点,本库还内置了无数人性化设计。

极简的语法规则。集成大量常用功能,代码更优雅

定位元素更加容易,功能更强大稳定

无处不在的等待和自动重试功能。使不稳定的网络变得易于控制,程序更稳定,编写更省心

提供强大的下载工具。操作浏览器时也能享受快捷可靠的下载功能

允许反复使用已经打开的浏览器。无需每次运行从头启动浏览器,调试超方便

使用 ini 文件保存常用配置,自动调用,提供便捷的设置,远离繁杂的配置项

内置 lxml 作为解析引擎,解析速度成几个数量级提升

使用 POM 模式封装,可直接用于测试,便于扩展

高度集成的便利功能,从每个细节中体现

还有很多细节,这里不一一列举,欢迎实际使用中体验

运行环境

操作系统:Windows、Linux 和 Mac。

python 版本:3.6 及以上

支持浏览器:Chromium 内核(如 Chrome 和 Edge)

操作浏览器的基本逻辑如下:

创建浏览器对象,用于启动或接管浏览器

获取一个 Tab 对象

使用 Tab 对象访问网址

使用 Tab 对象获取标签页内需要的元素对象

使用元素对象进行交互

除此以外,还能执行更为复杂的操作,如执行 js 代码、监听网络数据、下载文件等。

官方网站:https://drissionpage.cn/

github地址:https://github.com/g1879/DrissionPage

Gitee地址:https://gitee.com/g1879/DrissionPage

gitcode地址:https://gitcode.com/g1879/DrissionPage

提供各种辅助功能,如代码生成助手可用图形化的界面,通过简单的点击,自动生成用于 DrissionPage 启动浏览器的配置代码。

作者: 游龙(1227141324@qq.com)

骚神工具库:https://wxhzhwxhzh.github.io/saossion_code_helper_online/

历史上的今天
09月
21
    抱歉,历史上的今天作者很懒,什么都没写!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。