【发布时间】:2021-11-08 04:51:24
【问题描述】:
我有一个表格,我需要填写每个单元格。
首先,我得到第一行,每个单元格都使用 find() 方法。
但我遇到的问题是元素以某种方式与 DOM 分离:
cy.find() 失败,因为此元素与 DOM 分离。 之前运行的命令是: cy.wrap()
这是我的代码:
cy.get('.ag-center-cols-container .ag-row').each(($el, index, $list) => {
cy.wrap($el).find('div[col-id="account"]').type("30000")
})
我尝试了不同的方法,但没有找到解决方案。
例如:
cy.get('#row').each(($el, index, $list) => {
cy.wrap($el).should($el => {
expect(Cypress.dom.isAttached($el), 'is attached').to.eq(true)
})
.find('div[col-id="account"]').type("30000")
})
有错误:
10000 毫秒后重试超时:附加:预期 false 等于 true
我是赛普拉斯的新手,据我了解,在这种情况下我需要使用 cy.wrap(),以便能够在元素上使用赛普拉斯命令。
我在这个表中有 2 行,我试图使用每一行来创建一个可重用的函数,以防我想在以后添加更多行数据。
感谢任何建议。
谢谢!
【问题讨论】:
-
您不能在
div上使用type(),请参阅docs.cypress.io/api/commands/type#Supported-Elements。您需要获取input或type()支持的任何元素。它还可以解决您的DOM detached问题。 -
请将您的 html 添加到问题中。
-
@PeaceAndQuiet 我将代码更改为:cy.get('.ag-center-cols-container .ag-row').each(($el, index, $list) => { cy.wrap($el).find('div[col-id="account"] div input').type("30000") }) 我仍然得到 detached from DOM 错误。
标签: cypress