Cypress系列(17)- 查找页面元素的辅助方法

简介: Cypress系列(17)- 查找页面元素的辅助方法

如果想从头学起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

 

前言


单一的基础定位元素方法并不一定能满足复杂的场景,所以 Cypress 还提供了一些辅助方法,可以提高找到元素的准确性

 

前端页面代码


后面写的 Cypress 代码,都会基于这个 html 页面来定位元素哦,文件位置随意放,代码需要手动自己敲一遍

image.png


.children()


用来获取 DOM 元素的子元素

 

两种语法格式

.children()

.children(selector)

 

测试文件代码

image.png

ul 标签的子元素有四个 li,所以返回了四个 DOM 元素

 

.parents()


用来获取 DOM 元素的所有父元素,包括了爷爷级别、祖父级别....

 

测试文件代码

image.png

li 的父元素(父亲、爷爷、祖父....)一共有四个:ul > div > body > html

 

.parent()


用来获取 DOM 元素的第一层父元素

 

测试文件代码

image.png

li 的第一层父亲是 ul,所以只返回它

 

.siblings()


用来获取 DOM 元素的所有同级元素

 

测试文件代码

image.png

li 的同级元素有其他三个 li 元素

 

.first()


  • 匹配给定的 DOM 元素列表中的第一个元素
  • 重点:如果是单个 DOM 元素调用此方法,则返回自己

 

测试文件代码

image.png

.last()


  • 匹配给定的 DOM 元素列表中的最后一个元素
  • 重点:如果是单个 DOM 元素调用此方法,则返回自己

 

测试文件代码

image.png


next家族


.next()

获取给定的 DOM 元素后面紧跟的下一个同级元素

 

.nextAll()

获取给定的 DOM 元素后面紧跟的所有同级元素

 

.nextUntil(selector)

获取给定的 DOM 元素后面紧跟的所有同级元素,直到遇到 Until 里定义的元素为止

 

测试文件代码

image.png


测试结果

next() 测试结果

image.png


prev家族


.prev()

获取给定的 DOM 元素前面紧跟的上一个同级元素

 

.prevAll()

获取给定的 DOM 元素前面紧跟的所有同级元素

 

.prevUntil()

获取给定的 DOM 元素前面紧跟的所有同级元素,直到遇到 Until 里定义的元素为止

 

测试文件代码

image.png

image.png


.each()


用来遍历数据或者及其类似的结构(对象有 length 属性即可)

 

语法格式

.each(callbackFn)

 

测试文件代码

image.png


注意: $li是一个变量名,每次循均代表一个 jQuery 对象

 

测试结果

image.png


.eq()


  • 在元素或者数组中的特点索引处获取 DOM 元素
  • 作用跟 :nth-child() 选择器一样,只不过下标从0开始

 

测试文件代码

image.png


.closest()


https://www.cnblogs.com/poloyy/p/14010281.html

 

结尾


本文是博主基于对蔡超老师的《Cypress 从入门到精通》阅读理解完后输出的博文,并附上了自己的理解

对书籍感兴趣的,大家可以参考本篇博客:https://www.cnblogs.com/poloyy/p/13052972.html,考虑自身需求进行购买

 

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=12vd92hxgwgj1


相关文章
|
7月前
|
前端开发 JavaScript
cypress 如何定位元素?
cypress 如何定位元素?
168 0
cypress 如何定位元素?
|
5月前
|
开发者 索引
SpringMVC原理(2)-目标方法是怎么被找到的
目标方法(Handler)是如何被找到的 涉及组件:HandlerMapping、MappingRegistry、HandlerExecutionChain
|
7月前
|
Web App开发 API
在机器人流程自动化(RPA)中,判断网页或元素是否加载完成是一个重要的步骤
【2月更文挑战第24天】在机器人流程自动化(RPA)中,判断网页或元素是否加载完成是一个重要的步骤
377 6
|
IDE 编译器 开发工具
善用 vs 中的错误列表和输出窗口,高效查找 C++ 多工程编译错误
善用 vs 中的错误列表和输出窗口,高效查找 C++ 多工程编译错误
|
XML 前端开发 JavaScript
Selenium自动化用法详解【定位页面元素】
Selenium自动化用法详解【定位页面元素】
240 0
Selenium自动化用法详解【定位页面元素】
|
JavaScript 前端开发 安全
js 复杂数组的元素操作,实现数据按搜索条件在前端显示
在工程项目中需要实现的一个需求,自己设计通过修改前端js代码来实现数据按搜索条件来对应显示的功能(实际可以根据key通过服务请求来实现的つ﹏⊂同事帮助下实现的)。在这个方向上,踏了很多坑,每次都觉得快实现了,可还是一直有问题。最后即使在同事另辟蹊径下解决的问题,但在不甘心下自己还是决定按自己思路将之实现掉。
239 0
js 复杂数组的元素操作,实现数据按搜索条件在前端显示
|
开发者
我的第一个页面及其标签简介|学习笔记
快速学习我的第一个页面及其标签简介
|
XML JavaScript 前端开发
App自动化之dom结构和元素定位方式(包含滑动列表定位)
App自动化之dom结构和元素定位方式(包含滑动列表定位)
|
JavaScript 前端开发
Cypress系列(16)- 查找页面元素的基本方法
Cypress系列(16)- 查找页面元素的基本方法
530 0
Cypress系列(16)- 查找页面元素的基本方法
|
测试技术
Cypress系列(57)- 删除等待代码
Cypress系列(57)- 删除等待代码
127 0