cypress 如何遍历元素?

简介: cypress 如何遍历元素?

大家好, 我是阿萨。昨天学习了cypress的y元素操作方法。今天我们继续学习cypress的元素遍历方法。

日常我们查找一系列具有相似特征的元素时,经常只想获取到其中某一个元素。该如何获取呢?

  1. children

    比如要获取面包屑中的选中的,就可以使用如何方法:


cy.get('.breadcrumb').children('.active')// 找到Data 元素


2. closest

从字面意思我们就可以知道是离得最近的。是离得最近的父亲元素。


cy.get('.badge')  .closest('ul') // 找到父亲是个列表

3.eq
使用索引去获取元素。通过是一系列元素中的第几个。index 从0 开始。

image.png


cy.get('.traversal-list>li')  .eq(1) //找到siamese

4. filter
过滤,通过指定的选择器去过滤元素。比如一系列的tabpage 里选择选中的那个。

image.png


cy.get('.nav>li')  .filter('.active')  //找到About


5. find
用来查找子孙的,通过选择器查找。

image.png


cy.get('.pagination').find('li').find('a')//找到7个


6. first/last/next/nextall/prev/prevAll
这个就是找个列表里的第一个,最后一个,下一个,以及剩余所有的,qian'm前面一个,前面所有元素。

image.png


 cy.get('.buttons .btn').first() //找到Link
cy.get('.buttons .btn').last() //找到Submit
cy.get('.buttons .btn').first().next() // 找到Button
cy.get('.buttons .btn').first().nextAll() //找到除Link 之外的其他三个
cy.get('.buttons .btn').first().next().prev()// 
cy.get('.buttons .btn').first().next().prevAll()

7 not
从找到的列表里排除某个元素,就用not

image.png


cy.get('.disabled .btn')  .not('[disabled]')//找到Button

8. parent 和parents
这个很好理解。就是找到父元素。

image.png


cy.get('.traversal-cite').parent()cy.get('.traversal-cite').parents()

9. siblings
获取当前元素的兄弟元素。

image.png


cy.get('.pills .active').siblings()//找到Profile 和Messages


10. nextUntil/parentsUntil/prevUntilnextUtil 一直向后找兄弟元素的子元素, 直到遇到指定元素就停
prevUntil 一直向前找找兄弟元素的子元素,直到遇到指定元素就停
parentsUntil 一直找该元素的父元素里的子元素,直到遇到指定元素就停

image.png



 cy.get('.foods-list').find('#nuts').prevUntil('#veggies') //找到 cucumbers, carrots, corn
cy.get('.foods-list').find('#veggies').prevUntil('#nuts')  //找到 cucumbers, carrots, corn
cy.get('.foods-list').find('#corn').parentsUntil('veggies') //找到 cucumbers, carrots, corn
n


今天遍历用处挺广的。

你学会了吗?

相关文章
|
前端开发 JavaScript
cypress 如何定位元素?
cypress 如何定位元素?
310 0
cypress 如何定位元素?
|
3月前
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
154 0
|
弹性计算 测试技术 持续交付
阿里云云效产品使用合集之如何进行自动化测试
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
运维 架构师 云栖大会
2024云栖大会 | 阿里云网络技术Session主题资料和视频回放归档
2024年9月19日-21日,杭州,一年一度的云栖大会如期而至;阿里云飞天洛神云网络作为阿里云计算的连接底座,是飞天云操作系统的核心组件,致力于为上云企业提供高可靠、高性能、高弹性、智能的连接服务。本次云栖,云网络产品线也带来全系列产品升级,以及创新技术重磅解读,围绕增强确定性、深度可观测、高效自动化和敏捷全球化带来技术、产品和服务升级,以及全新的生态伙伴合作构建。
1164 15
|
机器学习/深度学习 数据采集 算法
Python实现Prophet时间序列数据建模与异常值检测(Prophet算法)项目实战
Python实现Prophet时间序列数据建模与异常值检测(Prophet算法)项目实战
|
JSON JavaScript 定位技术
Echarts 绘制地图(中国、省市、区县),保姆级教程!
Echarts 绘制地图(中国、省市、区县),保姆级教程!
|
机器学习/深度学习 存储 自然语言处理
从零开始学习Java神经网络、自然语言处理和语音识别,附详解和简易版GPT,语音识别完整代码示例解析
从零开始学习Java神经网络、自然语言处理和语音识别,附详解和简易版GPT,语音识别完整代码示例解析
380 0
|
移动开发 前端开发 JavaScript
整合阿里云播放器播放(1) | 学习笔记
快速学习 整合阿里云播放器播放(1)
372 0
整合阿里云播放器播放(1) | 学习笔记
|
网络安全 数据安全/隐私保护
解决git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Pleas
解决git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Pleas
2587 0
|
Java 程序员 API
【深入探究 Qt 线程】一文详细解析Qt线程的内部原理与实现策略
【深入探究 Qt 线程】一文详细解析Qt线程的内部原理与实现策略
974 0