UI自动化-八大定位方式

2024-06-07 18:38

本文主要是介绍UI自动化-八大定位方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

八大元素定位法则:
1.id:基于元素属性中的id的值来进行定位,类似人们的身份证上的号码,不出意外不会重复
2.name:基于元素属性中name的值进行定位,类似身份证上的名字,会重复
3.link text:用于超链接进行定位,例如点击登录跳转等操作
4.partial link text:link text的模糊查询版本,类似于数据库中like %,当模糊查询匹配多个符合条件的元素,选取第一个
5.classname:基于元素样式来进行定位,非常容易遇到重复的,而且遇到多样式的时候,之间会有空格可能会导致定位不到情况
6.tagname:标签名来进行定位,重复度最高,只有需要定位后进行二次筛选时候使用
例:
el = driver.find_elements_by_tag_name(‘a’)
for i in el:
if d.text == ‘登录’
d.click()
7.cssselector:应用相对较多的一种行为,采用绝对路径定位,最初IE浏览器不支持xpath,完全依赖此方法
8.xpath:应用最多的一种行为,基于页面结构来进行定位
绝对路径:从html根目录一层一层查找
相对路径:基于匹配制度来查找
例如://*[@id=“kw”]
//:表示从根路径开始查找
*:任意元素
[]:表示筛选条件
@:表示基于属性来筛选:例如@id=“kw”表示基于id属性值为kw来进行筛选
如果要基于text来定位元素
在[]中添加text()=“文本内容” 例如//a[text=()=“登录”]
在这里插入图片描述
注意:text是括号外的,value是属性
在这里插入图片描述
子元素如果定位不到,可以定位它的父元素
//iinput[contain(@id=‘kw’)]
//iinput[contain(text(),‘搜索’)]
contain:进一步查找匹配项模糊查找

总结:
从效率的角度来说 id,name,cssselector效率更高,xpath效率最低,但是这种效率来说几乎微乎其微,xpath属于万金流,没有定位不了的元素,配合绝对筛选查找,可读性高,维护性会更好。

这篇关于UI自动化-八大定位方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解