首页 > 解决方案 > 如何在 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 的值。

标签: reactjscypressautotest

解决方案


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

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

推荐阅读