0

我想读出一个表的所有元素,但只有多个 -Tags 的一个值。我通过使用以下代码实现了这一点:

HTML 片段:

<td data-cy="project.name" aria-label="project.name: ASBbwHwB0UC4Ud30CJw9">
    <div>
        <b>00_AA_Testprojekt_1635314756540_BEARBEITET</b>
    </div>
    <div>
        <span class="ng-star-inserted">Von 13.01.2024</span>
        <!---->
        &nbsp;
        <span class="ng-star-inserted"> Bis 02.11.2028</span>
        <!---->
    </div>
</td>

赛普拉斯代码:

cy.get('[data-cy="projectList"]')
     .get('[data-cy="project.name"]')  // I'm using my own marker for my table
    .parent('tr')
    .within(() => {
        cy.get('div').eq(0).then( (tmp) => { cy.log('div 1 = ' + tmp.text())})
        // cy.get('div').eq(1).then( (tmp) => { cy.log('div 2 = ' + tmp.text())})
        // cy.get('div').eq(2).then( (tmp) => { cy.log('div 3 = ' + tmp.text())})
    })

但现在的问题是,表中只有一个(第一个)元素/行被读出。如何捕获表的所有行?我尝试使用 .each(elemt, index, content),但它不能正常工作。

4

1 回答 1

1

你可以这样做:

cy.get('[data-cy="projectList"]')
  .find('[data-cy="project.name"]')
  .each(($ele) => {
    cy.wrap($ele)
      .parent('tr')
      .within(() => {
        cy.get('div')
          .eq(0)
          .then((tmp) => {
            cy.log('div 1 = ' + tmp.text())
          })
      })
  })
于 2021-10-27T08:36:09.843 回答