【发布时间】:2019-09-23 12:56:53
【问题描述】:
我正在针对我无法以任何方式更改的 PHP 站点运行 Cypress。
它有一个自动完成输入字段,可以将 XHR 调用流发送到服务器。
结果填充一个表格,其中每一行都有一个可以单击的按钮。
我需要等到只有一行,然后点击它的按钮。
cy.get('#dataTables_clients_filter > label > .form-control').type(client).then(() => {
cy.get('table#dataTables_clients > tbody > tr > td:nth-child(6) > i').click();
}
上面的结果是错误cy.click() can only be called on a single element. Your subject contained 100 elements.
XHR 调用的数量取决于客户的价值。
困难在于:theInput.type(client) 一次插入一个字母,页面会为每个字母发送一个新的 XHR。这意味着最初会有一个很长的行列表,其中一个将始终包含“客户端”。随着处理的字母越来越多,列表越来越短,最终只剩下一行。
我怎样才能等到以下任何一项为真?
-
tbody > tr:nth-child(0) > td:nth-child(4)等于client - 不再发送 XHR 调用
- 表格行数组的长度等于1
【问题讨论】:
标签: cypress