Web自动化测试高级定位xpath
高级定位-xpath
目录
- xpath 基本概念
- xpath 使用场景
- xpath 语法与实战
xpath基本概念
- XPath 是一门在 XML 文档中查找信息的语言
- XPath 使用路径表达式在 XML 文档中进行导航
- XPath 的应用非常广泛
- XPath 可以应用在UI自动化测试
xpath 定位场景
- web自动化测试
- app自动化测试
xpath 相对定位的优点
- 可维护性更强
- 语法更加简洁
- 相比于css可以支持更多的方式
# 复制的绝对定位
$x('//*[@id="ember75"]/td[1]/span/a')
# 编写的相对行为
$x("//*[text()='技术分享 | SeleniumIDE用例录制']")
xpath 定位的调试方法
-
浏览器-console
$x("xpath表达式")
-
浏览器-elements
- ctrl+f 输入xpath或者css
xpath 基础语法(包含关系)

# 整个页面
$x("/")
# 页面中的所有的子元素
$x("/*")
# 整个页面中的所有元素
$x("//*")
# 查找页面上面所有的div标签节点
$x("//div")
# 查找id属性为site-logo的节点
$x('//*[@id="site-logo"]')
# 查找节点的父节点
$x('//*[@id="site-logo"]/..')
xpath 顺序关系(索引)
- xpath通过索引直接获取对应元素
# 获取此节点下的所有的li元素
$x("//*[@id='ember21']//li")
# 获取此节点下【所有的节点的】第一个li元素
$x("//*[@id='ember21']//li[1]")
xpath 高级用法
[last()]: 选取最后一个[@属性名='属性值' and @属性名='属性值']: 与关系[@属性名='属性值' or @属性名='属性值']: 或关系[text()='文本信息']: 根据文本信息定位[contains(text(),'文本信息')]: 根据文本信息包含定位- 注意:所有的表达式需要和
[]结合
# 选取最后一个input标签
//input[last()]
# 选取属性name的值为passward并且属性pwd的值为123456的input标签
//input[@name='passward' and @pwd='123456']
# 选取属性name的值为passward或属性pwd的值为123456的input标签
//input[@name='passward' or @pwd='123456']
# 选取所有文本信息为'华测教育测试开发'的元素
//*[text()='华测教育测试开发']
# 选取所有文本信息包'华测教育'的元素
//*[contains(text(),'华测教育')]
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

全套资料获取方式:点击下方小卡片自行领取即可

相关文章:
Web自动化测试高级定位xpath
高级定位-xpath 目录 xpath 基本概念xpath 使用场景xpath 语法与实战 xpath基本概念 XPath 是一门在 XML 文档中查找信息的语言XPath 使用路径表达式在 XML 文档中进行导航XPath 的应用非常广泛XPath 可以应用在UI自动化测试 xpath 定位场景 web自动化测试app自动化测试 …...
2023河南萌新联赛第(二)场:河南工业大学 F - 最短距离
2023河南萌新联赛第(二)场:河南工业大学 F - 最短距离 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给定一棵包含 n n n 个顶点的树…...
前端文件上传实践与后端处理——文件分块上传
文件上传是现代Web应用程序中常见的功能之一。在这篇博客中,我们将探讨一个简单但完整的前端文件上传实践,同时提供一个后端示例,演示如何处理上传的文件。我们将使用JavaScript作为前端语言,并结合Node.js作为后端环境。让我们开…...
SFP6012A-ASEMI代理海矽美快恢复二极管参数、尺寸、规格
编辑:ll SFP6012A-ASEMI代理海矽美快恢复二极管参数、尺寸、规格 型号:SFP6012A 品牌:ASEMI 封装:TO-247AC 恢复时间:100ns 正向电流:60A 反向耐压:1200V 芯片大小:102MIL*2…...
githack的安装步骤+一次错误体验
一.githack的安装步骤 1.要在Kali Linux上安装GitHack工具,您可以按照以下步骤操作: 打开终端并使用以下命令克隆GitHack存储库: git clone https://github.com/lijiejie/GitHack.git2.进入GitHack目录: cd GitHack3.安装依赖项…...
【Spring框架】SpringBoot创建和使用
目录 什么是SpringBoot?SpringBoot优点创建SpringBootSpringBoot使用 什么是SpringBoot? Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发的。 SpringBoot优点 1.起步依赖(创建的时候就可以方…...
【C语言项目】多臂井径电子测井成像项目(一)
目录 1、目的和意义2、本章概述3、串口R2324、OpenGL5、开发环境6、环境配置6.1、VS安装OpenGL6.2、虚拟串口生成工具 7、成品速览参考文献 1、目的和意义 本项目为获取矿藏地层的油气当量和及时精确地测量含油、含气层的压力及温度值的需求,辅助生产管理人员完成对…...
力扣 56. 合并区间
题目来源:https://leetcode.cn/problems/merge-intervals/description/ C题解:根据左区间排序,更新每一段的右区间最大值,直到间断。 class Solution { public:static bool cmp(vector<int> & a, vector<int> &a…...
前端开发Vue3.0 标签setup语法『UI组件库』之『模态框』【业务提升必备】
封装模态框需要定义的参数 title //弹窗标题 show // 是否显示弹窗 width // 弹窗宽度 height // 弹窗高度 borderRadius // 弹窗圆角 headerColor // 弹窗顶部颜色 contentText // 内容文本 contentTextCorder //内容文本颜色 position // 标题的位置 …...
在CSDN学Golang云原生(Kubernetes二开)
一,通过client-go管理集群资源 Kubernetes提供了client-go库,该库可以让开发人员使用Golang编写的应用程序与Kubernetes API进行交互。通过client-go,你可以创建、更新和删除Kubernetes资源,并查询集群状态等信息。 以下是一个示…...
chatglm-6b量化推理指标记录
chatglm量化推理指标对比,单卡显存32G, 保持batchsize为64不变。通过不同的量化可以节省显存进而提升提升batch size,加快全量数据的推理速度。当然通过量化可以降低大模型的显存使用门槛。...
Android kotlin系列讲解之最佳的UI体验 - Material Design 实战
目录 一、什么是Material Design二、Toolbar三、滑动菜单1、DrawerLayout2、NavigationView 四、悬浮按钮和可交互提示1、FloatingActionButton2、Snackbar3、CoordinatorLayout 五、卡片式布局1、MaterialCardView2、AppBarLayout 六、可折叠式标题栏1、CollapsingToolbarLayo…...
链表基础知识
一、什么是链表 链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表的结构是多式多样的,当时通常用的也就是两种: (1)第一种是无头非循环单向…...
process.env.npm_config_argv的值3个参数remain、cooked、original什么含义
在使用Webpack进行打包时,判断process.env.npm_config_argv的值通常是为了根据命令行参数来决定打包的行为。process.env.npm_config_argv是一个环境变量,保存了当前运行的npm命令和其参数。 具体而言,process.env.npm_config_argv的值是一个…...
【飞书】飞书导出md文档 | 飞书markdown文档导出 | 解决飞书只能导出pdf word
一、飞书导出markdown github地址:https://github.com/Wsine/feishu2md 这是一个下载飞书文档为 Markdown 文件的工具,使用 Go 语言实现。 请看这里:招募有需求和有兴趣的开发者,共同探讨开发维护,有兴趣请联系。 二、…...
零信任网络架构与实现技术的研究与思考
目前,国外已有较多有关零信任网络的研究与实践,包括谷歌的 BeyondCorp、BeyondProd,软件定义边界(Software Defined Perimeter,SDP) 及盖特提出的“持续自适应风险与信任评估”等。国内也有不少安全厂商积极…...
Unity 性能优化二:内存问题
目录 策略导致的内存问题 GFX内存 纹理资源 压缩格式 Mipmap 网格资源 Read/Write 顶点数据 骨骼 静态合批 Shader资源 Reserved Memory RenderTexture 动画资源 音频资源 字体资源 粒子系统资源 Mono堆内存 策略导致的内存问题 1. Assetbundle 打包的时候…...
JavaScript与TypeScript的区别
JavaScript和TypeScript是两种不同的编程语言,在一些方面有一些区别。 1. 类型系统:JavaScript是一种动态类型语言,变量的类型是在运行时确定的,并且可以随时更改。而TypeScript引入了静态类型系统,可以在编译时检查代…...
【NetCore】05-使用Autofac增强容器能力
文章目录 1.什么情况下需要引入第三方容器组件2.如何集成Autoface 1.什么情况下需要引入第三方容器组件 基于名称的注入属性注入子容器基于动态代理的AOP 核心扩展点:IServiceProviderFactory 第三方注入容器均使用这个类作为扩展点,将其注入到框架中…...
sparksql参数
Spark参数场景配置 参数类型 参数 参数说明 平台默认值 场景与建议 资源申请 spark.executor.memory Executor Java进程的堆内存大小 即Executor Java进程的Xmx值 2g 默认设置,或者同时等比例增大,最高不超过默认值的3倍,超过的单独拿出来看下 (注意作业是否数据倾斜&…...
千问3.5-9B模型切换指南:OpenClaw多模型动态调用
千问3.5-9B模型切换指南:OpenClaw多模型动态调用 1. 为什么需要多模型动态调用 上周我尝试用OpenClaw自动整理电脑里积压的300多份PDF文档时,遇到了一个有趣的现象:处理简单文件重命名任务时,轻量级模型响应飞快;但遇…...
5个实战场景掌握DeepSeek-Coder-V2:打造企业级私有化AI编程助手
5个实战场景掌握DeepSeek-Coder-V2:打造企业级私有化AI编程助手 【免费下载链接】DeepSeek-Coder-V2 DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intelligence 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Coder-…...
SWIFT报文格式规范:从字符约束到金融交易安全的深度解析
1. SWIFT报文格式规范的核心价值 第一次接触SWIFT报文时,我被那些看似简单的字母代号震撼到了——谁能想到,像"2!n"这样简单的符号组合,竟然承载着全球金融系统的运转规则?在跨境汇款中输错一个字符可能导致资金滞留数周…...
KDD_CUP99数据集预处理与模型性能验证(附处理代码与数据集)
1. KDD_CUP99数据集入门指南 第一次接触KDD_CUP99数据集时,我也被它庞大的数据量和复杂的特征结构吓了一跳。这个数据集是网络安全领域最经典的入侵检测基准数据集之一,包含了模拟军事网络环境中各种攻击类型的网络连接记录。原始数据集有近500万条记录&…...
OpenClaw定时任务管理:千问3.5-27B驱动日报自动生成
OpenClaw定时任务管理:千问3.5-27B驱动日报自动生成 1. 为什么需要自动化日报 每周五下午,我都会陷入一种"汇报焦虑"——要手动整理GitHub提交记录、汇总JIRA任务进度、编写本周技术总结。这个过程通常要花费1-2小时,而且内容模板…...
2026年4月OpenClaw怎么集成?腾讯云6分钟超简单安装步骤
2026年4月OpenClaw怎么集成?腾讯云6分钟超简单安装步骤。OpenClaw(原Clawdbot)作为2026年主流的AI自动化助理平台,可通过阿里云轻量服务器实现724小时稳定运行,并快速接入钉钉,让AI在企业群聊、个人工作流中…...
S03TodoWrite - 任务规划:没有计划的 Agent 会迷失方向
核心理念 “没有计划的 Agent 走哪算哪” – 先列步骤再动手,完成率翻倍。 源码:https://github.com/xiayongchao/learn-claude-code-4j/blob/main/src/main/java/org/jc/agents/S03TodoWrite.java原版:https://github.com/shareAI-lab/lea…...
Matterport3D数据集:从全景构建到三维理解的实践指南
1. Matterport3D数据集全景解析 第一次接触Matterport3D数据集时,我被它庞大的数据规模震撼到了。这个数据集包含了90个完整的建筑场景,由194,400张RGB-D图像组成,覆盖了10,800个全景视角。简单来说,它就像是用专业相机把整栋房子…...
SEO_本地中小企业快速见效的SEO操作指南(345 )
SEO:本地中小企业快速见效的SEO操作指南 在当今数字化时代,本地中小企业如何在竞争激烈的市场中脱颖而出,是每一个企业主都需要面对的问题。本文将从多个角度为你详细解析如何通过SEO(搜索引擎优化)让本地中小企业迅速见效。 问…...
GLM-OCR完整教程:部署、使用、API、案例,一篇搞定所有
GLM-OCR完整教程:部署、使用、API、案例,一篇搞定所有 1. GLM-OCR简介与核心优势 GLM-OCR是一款基于先进多模态架构的OCR识别工具,专为解决复杂文档理解问题而设计。与市面上大多数OCR工具不同,它不仅能识别文字,还能…...
