在tr的每次迭代中如何获得td值?

问题描述

这是我需要迭代的下表。

<tbody>
    <tr>
        <td>1</td>
        <td>Thomas Hill</td>
        <td>4</td
    </tr>
    <tr>
        <td>2</td>
        <td>Greg Hill</td>
        <td>39</td
    </tr>
    <tr>
        <td>3</td>
        <td>Jane Hill</td>
        <td>31</td
    </tr>
</tbody>

我正在尝试获取每个第一个td并像这样进行编码。

let values = []
cy.get('tbody > tr')
  .find('td')
  .each(($el,$index) => {
     cy.wrap($el)
      .invoke('text')
      .then(num => {
          if($index!==0)
            values.push(num)
          })
       })

搜索时,数组没有值。我只想获取每行中第一个TD的值。

解决方法

您说您尝试调用每一行的第一个Td值,但是您正在调用一个获取代码中每个Td的命令。这是我的建议

let values = []
cy.get('tbody > tr')
    .each(($el) => {
        cy.wrap($el)
            .find('td')
            .first()
            .invoke('text')
            .then(num => {
                values.push(num)
            })
    })