UI自动化-01-helium-开始与入门

2020-08-30  本文已影响0人  weitung

前言

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提供的方法详见博客

https://www.cnblogs.com/weitung/p/13532081.html

上一篇下一篇

猜你喜欢

热点阅读