碾压Selenium的工具---->Helium

2023-11-10 05:20
文章标签 工具 selenium 碾压 helium

本文主要是介绍碾压Selenium的工具---->Helium,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

接触过自动化的人都应该知道Selenium,模拟键盘,鼠标,事件的一个工具。
selenium虽然广为人知,但是用的朋友也应该知道定位真的不是那么容易的事,需要打开开发者工具去找id,name…等等,有时候还找不到这些,那就只能用xpath了,可xpath又长,对代码整洁度又不友好了!
所以今天给大家推荐一个比Selenium更简单,代码更简洁的自动化测试工具—Helium
看名字就跟selenium那么像了,没猜错,Helium就是基于Selenium封装的更加高级的Web自动化工具。

Helium优点

Helium是一个开源项目,其下说明了以下五种优点,Helium开源地址
Web Driver管理:helium自带ChromeDriver和Geckodriver的副本,所以用户不需要下载浏览器驱动并配置路径上。相对于Selenium3,不要太友好!
iFrame处理:与Selenium不同的是,Helium可以自由交互不同iFrame中的元素,而不用“switch to”来切换。
窗口管理:Helium会注意弹出窗口的打开或关闭,并像用户一样聚焦/切换。用户还可以通过窗口标题的(甚至部分标题)轻松切换到窗口。不再需要迭代Selenium窗口句柄。
Implicit waits:默认情况下,如果Selenium用户尝试单击DOM元素,但该元素尚未出现在页面上,则脚本将失败。而Helium会最多等待10秒,只等元素出现。
Explicit waits:Helium提供了一个更好的API来等待web页面上的条件成为现实。

Helium安装

事先你得准备好python环境,pycharm,chrome或者或者火狐浏览器。浏览器驱动他介绍是说不用,实际我不是很清楚,因为我本地环境在安装selenium就装了浏览器驱动了

1、网速快就直接pip install helium
2、在[helium下载](https://pypi.org/project/helium/#files)下载tar.gz包,然后安装
3、直接进入pycharm设置里面进行安装

Helium示例

官方声明在完成同样功能的情况下,Helium比selenium少30%~50%代码量,是不是很惊人,下面来看看Helium有多简洁,
下面展示一个百度下载图片的自动化示例

from helium import *
import timedriver = start_chrome('https://www.baidu.com')
write('犬夜叉')
press(ENTER)
time.sleep(2)
click('图片')
img = driver.find_element_by_name("pn7")
click(img)
click("下载")

是不是比selenium简洁多了,同理,如果是火狐浏览器,使用start_firefox()就行了

点击网页上的链接Helium已经做到了出神入化

from helium import *
import timedriver = start_chrome('https://www.baidu.com')
click(Link('新闻'))

这样就直接打开了百度新闻页,定位都不用,更牛逼的是居然可以识别链接左右的元素

from helium import *
import timedriver = start_chrome('https://www.baidu.com')
click(Link(to_right_of='新闻'))

这样就直接打开了新闻右侧的链接,这也太简单了吧

在这里插入图片描述

结语

通过以上示例,可以发现Helium真的是太简洁了,让人大爱,可惜的是Helium还没成熟,各种学习资料还有参考文档都不是那么的齐全,所以希望那些大佬将这个Helium发扬光大,取代selenium!

这篇关于碾压Selenium的工具---->Helium的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/380570

相关文章

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

基于Python打造一个全能文本处理工具

《基于Python打造一个全能文本处理工具》:本文主要介绍一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的... 目录1. 概述:当文本处理遇上python图形界面2. 功能全景图:六大核心模块解析3.运行效果4. 相

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建