查找特定类型的多个元素

kak*_*ret 0 html-table cypress

鉴于这样的事情:

<table>
 <tr id="row">
  <td>......</td>
  <td>......</td>
  <td>......</td>
 </tr>
 <tr id="row">
  ...
Run Code Online (Sandbox Code Playgroud)

tds 没有 id 或其他标识符。

例如,我怎样才能找到第三个?

我可以找到<td>这样的任何标签:

cy.get("td")
Run Code Online (Sandbox Code Playgroud)

我似乎能够得到这样的特定行:

cy.get("#row")[0]
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

cy.get("#row")[0].cy.get("td")
Run Code Online (Sandbox Code Playgroud)

我想要做的是能够获取例如<td>每行第三个的内容。

Ala*_*paz 5

查看cy.table(),它使处理行和列变得更加容易。

安装

yarn add -D cypress-map
//or
npm i -D cypress-map
Run Code Online (Sandbox Code Playgroud)
import 'cypress-map'

cy.get('table tbody')
  .table(2, 0, 1)                                      // 2nd column only
  .should('deep.eq', [['Text'], ['Not text']])
Run Code Online (Sandbox Code Playgroud)

或平面版本

cy.get('table tbody')
  .table(2, 0, 1)
  .invoke('flatMap', Cypress._.identity)
  .should('deep.eq', ['Text', 'Not text'])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述