Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【开源自荐】DrissionPage:一个强大而且优雅的web自动化工具 #2946

Open
g1879 opened this issue Feb 23, 2023 · 1 comment

Comments

@g1879
Copy link

g1879 commented Feb 23, 2023

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

项目地址:
https://gitee.com/g1879/DrissionPage
https://github.com/g1879/DrissionPage

项目文档:
http://g1879.gitee.io/drissionpagedocs/

特性:
🎇 强大的自研内核

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

  • 无 webdriver 特征,不会被网站识别
  • 无需为不同版本的浏览器下载不同的驱动
  • 运行速度更快
  • 可以跨 iframe 查找元素,无需切入切出
  • 把 iframe 看作普通元素,获取后可直接在其中查找元素,逻辑更清晰
  • 可以同时操作浏览器中的多个标签页,即使标签页为非激活状态,无需切换
  • 可以直接读取浏览器缓存来保存图片,无需用 GUI 点击另存
  • 上传文件能拦截选择框并自动填入路径,使用非常便捷
  • 可以对整个网页截图,包括视口外的部分(90以上版本浏览器支持)
  • 可处理非open状态的 shadow-root

🎇 亮点功能

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

  • 浏览器与 requests 间共享登录状态,且能无缝相互切换
  • 极简的语法规则。集成大量常用功能,代码更优雅
  • 定位元素更加容易,功能更强大稳定
  • 无处不在的等待和自动重试功能。使不稳定的网络变得易于控制,程序更稳定,编写更省心
  • 提供强大的下载工具。操作浏览器时也能享受快捷可靠的下载功能
  • 允许反复使用已经打开的浏览器。无须每次运行从头启动浏览器,调试超方便
  • 使用 ini 文件保存常用配置,自动调用,提供便捷的设置,远离繁杂的配置项
  • 内置 lxml 作为解析引擎,解析速度成几个数量级提升
  • 使用 POM 模式封装,可直接用于测试,便于扩展
  • 高度集成的便利功能,从每个细节中体现
@LRoInT
Copy link

LRoInT commented Feb 23, 2023

请问web内核在那个文件

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants