包含返回其文本仅包含给定字符串的一部分的第一个元素

Ama*_*cea 2 dom cypress

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

使用时出现该问题contains

例子

如果我写cy.contains('td', '04/01/2023 08:00').parent()然后cy.contains('td', '04/01/2023 16:00').parent(),当 DOM 看起来像这样时

例子2&

例3

第一个元素的 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)