首页 > 解决方案 > 在柏树中获取子元素

问题描述

我想获取属性名称为“tag-test”且值为“tab”的子元素

我要测试的部分 html 如下所示

  ... 
  <ul
     tag-test="tab"
  >
   <li  />
   <li  />
   <li  />
  />

li我怎样才能从ul一个 jquery 对象中获得最后一个?

我控制台记录的以下代码显示

我怎么能走得更远?

cy.get('ul[tag-test]=tab')
  .then((ul) => { 
     console.log(ul)  // <ul> ... </ul> . 
   }) 
  

标签: jquerycypress

解决方案


要在li中查找最后一个ul,可以使用 CSS 伪选择器last-child

例如,使用这个测试片段

<ul tag-test="tab">
  <li>1</li>
  <li>2</li>
  <li>3</li>        // test should find this one
</ul>

<ul tag-test="another">
  <li>4</li>
  <li>5</li>
  <li>6</li>        // test should ignore this one
</ul>

测试可能是

cy.get('ul[tag-test=tab]')
  .find('li:last-child')     // use find here to restrict search to previous subject
  .contains('3')

或抓取 jQuery 对象

cy.get('ul[tag-test=tab]')
  .find('li:last-child')
  .then($lastLI => {
    expect($lastLI).to.contain(3)
  })

推荐阅读