前言
Helium 是一款 Web 端自动化开源框架,全称是:Selenium-Python-Helium,从名字上就可以看出,Helium 似乎和 Selenium 息息相关,基于Selenium的更轻量级的浏览器自动化。
确实,Helium 针对 Selenium 进行了封装,它屏蔽了 Selenium 很多实现细节,提供了更加简洁直观的 API,更方便我们进行 Web 端的自动化
官方表示,要实现同样的功能,Helium 相比 Selenium 要少 30% - 50% 的代码
目前,Helium 仅支持 Chrome 和 FireFox
Helium特点
Helium 主要包含下面 6 个优点:
-
Helium 自带 WebDriver,不需要下载、配置浏览器驱动
-
内嵌页面 iframe 页面元素直接操作,不需要使用 switch_to.frame() 切换 iframe
-
窗体管理更方便,可以直接使用窗口标题或部分标题内容来切换窗体
-
隐式等待,针对某个元素执行点击操作,Selenium 如果元素没有出现,脚本会执行失败;而 Helium 默认最多等待 10s,等待元素出现后立马执行点击操作
-
显式等待,Helium 提供更加优雅的 API 来等待页面元素出现
-
API 更简洁直观,代码量少
Helium 主要缺点,体现在:
-
由于封装,屏蔽了很多细节,所以它不合适二次开发
-
目前仅支持 Chrome 和 FireFox 浏览器
-
版本更新慢、遗留 Bug 及文档少
安装Helium
1.安装方法
https://libraries.io/pypi/helium
要求:
Requires: Python >=3
# pip安装
pip3 install helium -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com
快速开始
百度搜索案例
from helium import *
import time
# 打开chrome浏览器
start_chrome('https://www.baidu.com/')
# 输入搜索内容
write('Helium')
# 等待按钮"百度一下"出现
wait_until(Button('百度一下').exists)
# 高亮展示按钮百度一下
highlight(Button('百度一下'))
time.sleep(2)
# 点击按钮百度一下
click(Button('百度一下'))
# 关闭浏览器
kill_browser()
Helium提供的方法详见下一篇博客
欢迎交流
310678696
参考: