大家好, 我是阿萨。昨天学习了cypress的y元素操作方法。今天我们继续学习cypress的元素遍历方法。
日常我们查找一系列具有相似特征的元素时,经常只想获取到其中某一个元素。该如何获取呢?
- children
比如要获取面包屑中的选中的,就可以使用如何方法:
cy.get('.breadcrumb').children('.active')// 找到Data 元素
2. closest
从字面意思我们就可以知道是离得最近的。是离得最近的父亲元素。
cy.get('.badge') .closest('ul') // 找到父亲是个列表
3.eq
使用索引去获取元素。通过是一系列元素中的第几个。index 从0 开始。
cy.get('.traversal-list>li') .eq(1) //找到siamese
4. filter
过滤,通过指定的选择器去过滤元素。比如一系列的tabpage 里选择选中的那个。
cy.get('.nav>li') .filter('.active') //找到About
5. find
用来查找子孙的,通过选择器查找。
cy.get('.pagination').find('li').find('a')//找到7个
6. first/last/next/nextall/prev/prevAll
这个就是找个列表里的第一个,最后一个,下一个,以及剩余所有的,qian'm前面一个,前面所有元素。
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
cy.get('.disabled .btn') .not('[disabled]')//找到Button
8. parent 和parents
这个很好理解。就是找到父元素。
cy.get('.traversal-cite').parent()cy.get('.traversal-cite').parents()
9. siblings
获取当前元素的兄弟元素。
cy.get('.pills .active').siblings()//找到Profile 和Messages
10. nextUntil/parentsUntil/prevUntilnextUtil 一直向后找兄弟元素的子元素, 直到遇到指定元素就停。
prevUntil 一直向前找找兄弟元素的子元素,直到遇到指定元素就停
parentsUntil 一直找该元素的父元素里的子元素,直到遇到指定元素就停
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
今天遍历用处挺广的。
你学会了吗?