我的问题是关于桌子上的断言。我试图找到具有特定文本的元素,在本例中,文本是日期时间字符串。
使用时出现该问题contains。

如果我写cy.contains('td', '04/01/2023 08:00').parent()然后cy.contains('td', '04/01/2023 16:00').parent(),当 DOM 看起来像这样时
第一个元素的 T 查询工作得很好,但对于第二个元素,Cypress 发现该元素不可见,然后.parent()将其发送到第一个元素。
因此几乎contains返回包含给定字符串一部分的第一个元素。
有什么想法可以解决这个问题吗?
小智 6
可以使用.filter()命令对所需的文本进行精确匹配。
cy.get('td').filter((index, td) => td.innerText === '04/01/2023 16:00')
.parent()
Run Code Online (Sandbox Code Playgroud)
或者直接使用父行
cy.get('tr').filter((index, tr) => tr.innerText === '04/01/2023 16:00')
Run Code Online (Sandbox Code Playgroud)