Helium文档1-WebUI自动化-环境准备与入门

2022-04-12 00:00:00 专区 元素 等待 浏览器 不需要

前言

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()

相关文章