项目介绍

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

项目特点

  • 跨平台支持:Windows、Linux、Mac
  • Python版本:3.6 及以上
  • 浏览器支持:Chromium 内核浏览器(如 Chrome 和 Edge),electron 应用

核心优势

对比 Selenium 的优点

  • 不基于 webdriver
  • 无需为不同版本的浏览器下载不同的驱动
  • 运行速度更快
  • 可以跨 iframe 查找元素,无需切入切出
  • 把 iframe 看作普通元素,逻辑更清晰
  • 可同时操作多个标签页,无需切换
  • 可以直接读取浏览器缓存保存图片,无需用 GUI 点击另存
  • 可以对整个网页截图,包括视口外的部分
  • 可处理非 open 状态的 shadow-root

亮点功能

  • 极简的定位语法,查找元素更加容易
  • 集成大量常用功能,代码更优雅,功能强大稳定
  • 无处不在的等待和自动重试,使不稳定的网络变得易于控制
  • 提供强大的下载工具,操作浏览器时也能享受快捷可靠的下载功能
  • 允许反复使用已经打开的浏览器,无需每次运行从头启动浏览器
  • 使用 ini 文件保存常用配置,自动调用,提供便捷的设置
  • 内置 lxml 作为解析引擎,解析速度成几个数量级提升
  • 使用 POM 模式封装,可直接用于测试,便于扩展

安装使用

pip install DrissionPage

快速示例

from DrissionPage import ChromiumPage

# 创建页面对象
page = ChromiumPage()

# 访问网页
page.get('https://www.example.com')

# 查找元素并操作
element = page.ele('text:登录')
element.click()

项目信息


文章来源:Gitee 开源探索 - https://gitee.com/explore

项目链接:https://gitee.com/g1879/DrissionPage