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

官网介绍它既能控制浏览器,也能收发数据包,两者功能合而为一,兼顾浏览器自动化的便利性和 requests 的高效率。它功能强劲,内置无数人性化设计和便捷功能,语法简洁,代码量少,对新手友善。

前段时间使用Selenium框架在实现某个系统的自动考勤打卡上碰到问题,于是便拿DrissionPage一试,结果发现的确 又好用、又方便。
由于程序比较简单,并没有涉及DrissionPage全部的功能,但使用过程中与Selenium相比,有三点的确 优势明显:
无需下载浏览器驱动
使用Selenium最麻烦的就是浏览器驱动的安装,需要根据程序运行机器上安装的不同的浏览器、不同的版本号下载安装相应的驱动(参见《Selenium开发环境和相关工具准备》),这项工作对程序的推广使用很不友善。而使用Drissionpage则完全不需要这项准备,Python几行代码就直接调用本机Chrome浏览器访问指定网页了。
from DrissionPage import ChromiumPage
page = ChromiumPage()
page.get('http://xxx.com')
可以跨 iframe 查找元素,无需切入切出
使用Selenium碰上的另外一个问题,就是遇到有iframe的页面需要在代码编写时要主动切换,不注意这个细节会让你调试半天却抓不到网页元素。而使用Drissionpage则完全不需要思考这个问题,直接根据页面元素的特征值选择即可。
获取页面元素的方法也很简单,下面是自动考勤打卡程序的全部代码,超级简洁。
from DrissionPage import ChromiumPage
# 打开浏览器,访问网页
page=ChromiumPage()
page.get("http://xxx")
# 输入用户名
element = page.ele('#login_username')
element.clear()
element.input('XXX')
# 输入密码
element = page.ele('#login_password')
element.clear()
element.input('XXX')
# 点击登录按钮
element = page.ele('#login_button')
element.click()
# 点击进入打卡页面
element = page.ele('.signBtn')
element.click()
# 点击签到按钮
element = page.ele('.card-punch-end-inner').ele('签到')
element.click()
# 关闭浏览器
page.quit()
运行速度更快
使用Drissionpage自动化网页的另外一个感觉就是快,完全没有等待网页加载的烦恼,还没等你反应过来,自动考勤打卡程序都运行结束了。

结语
从安装和使用的实战来看,对比PlayWright、Selenium等自动化框架,Drissionpage的确 很强,值得大家关注。
© 版权声明
文章版权归作者所有,未经允许请勿转载。

这玩意能离线使用?
网页自动化工具,针对web的。当然不一定是互联网上的站点,局域网站点一样用。
为啥我路径设置老是不对啊
浏览器路径?
基于python的国产网页自动化工具 可以尝试下!
挺好用,就是资料比较少,慢慢摸索
DrissionPage是一个基于 python 的国产网页自动化工具
🐲龙年接好运
DrissionPage是一个基于 python 的国产网页自动化工具,
收藏了,感谢分享
感谢