点击上方蓝字,关注「予墨致远 」
推荐阅读:
《国内首批基于Vue开源的问卷/表单收集工具!-TDuck》
Web 自动化是网页测试\网页爬虫\自动填表等工作经常要用到的功能. 在 Web 自动化工具中最流行的也许就是 selenium, playwright 了, 但它们的非标准内核机制实在令人深恶痛绝, 其他同类工具例如 clicknium 也有很多新的无语问题, 以及接口爬取数据时踩不完的坑. 无论是b端还是c端还是接口的探索仿佛到了山穷水尽的地步,直到它的诞生—— DrissionPage !
DrissionPage简介
DrissionPage 是一个基于 python 的网页自动化工具。它既能控制浏览器,也能收发数据包,还能把两者合而为一。可兼顾浏览器自动化的便利性和 requests 的高效率。它功能强大,内置无数人性化设计和便捷功能。它的语法简洁而优雅,代码量少,对新手友好。
它将控制浏览器和收发请求两大功能合二为一,并提供了统一、简洁的接口。无论是需要渲染JavaScript生成的动态内容,还是简单的静态页面数据抓取,DrissionPage都能轻松应对。这个库的设计哲学是提高开发者在Web自动化任务中的工作效率,同时降低编码复杂度。
DrissionPage特性
强大的自研内核
本库采用全自研的内核,内置了无数实用功能,对常用功能作了整合和优化,对比 selenium,有以下优点:
无 webdriver 特征
无需为不同版本的浏览器下载不同的驱动
运行速度更快
可以跨 iframe 查找元素,无需切入切出
把 iframe 看作普通元素,获取后可直接在其中查找元素,逻辑更清晰
可以同时操作浏览器中的多个标签页,即使标签页为非激活状态,无需切换
可以直接读取浏览器缓存来保存图片,无需用 GUI 点击另存
可以对整个网页截图,包括视口外的部分(90以上版本浏览器支持)
可处理非open状态的 shadow-root
亮点功能
除了以上优点,本库还内置了无数人性化设计。
极简的语法规则。集成大量常用功能,代码更优雅
定位元素更加容易,功能更强大稳定
无处不在的等待和自动重试功能。使不稳定的网络变得易于控制,程序更稳定,编写更省心
提供强大的下载工具。操作浏览器时也能享受快捷可靠的下载功能
允许反复使用已经打开的浏览器。无需每次运行从头启动浏览器,调试超方便
使用 ini 文件保存常用配置,自动调用,提供便捷的设置,远离繁杂的配置项
内置 lxml 作为解析引擎,解析速度成几个数量级提升
使用 POM 模式封装,可直接用于测试,便于扩展
高度集成的便利功能,从每个细节中体现
还有很多细节,这里不一一列举,欢迎实际使用中体验
应用场景
网页测试: 使用POM模式封装,便于进行网页功能测试和回归测试。
**数据抓取:**可以用于抓取网页数据,进行数据分析和信息收集。
自动化脚本编写: 适用于需要编写自动化脚本进行网页操作的场景,如自动化填写表单、自动化登录等。
网页内容管理: 适用于需要管理和操作多个网页标签页的场景,提高工作效率。
安装
总结
DrissionPage不仅仅是一个工具,它代表了一种将传统自动化与底层网络操作相结合的创新思路,为Web开发和测试的未来开辟了新的道路。随着技术的不断发展,我们有理由相信,DrissionPage会在未来的Web技术栈中占据一席之地。立即加入DrissionPage的大家庭,体验高效、便捷的网页自动化工具吧!
**开源地址:**https://gitee.com/g1879/DrissionPage
热文推荐
灵活,可靠和快速的分布式任务重试和分布式任务调度平台!-SnailJob
高性能、高并发、低延迟、国产高性能通信框架!-Smart-Socket
优雅而强大!操作 Elasticsearch(ES) 如此简单!-Easy-Es
『黑科技』开源 IP 地址定位库,99.9%的准确率!-IP2Region
零侵入!简易、高效且开源!试试这款Api接口文档生成器!-SmartDoc