Testcafe-使用id选中复选框总是以超时等待结束



我们的复选框html代码看起来总是像这个

<div id="paymentCheckBoxesMod" class="c-form__checkbox-container u-spacing__margin-bottom--16 u-spacing__margin-top--16"> <input type="checkbox" id="supplementaryAgreement" aria-describedby="paymentsCheckboxLabel"> <label for="supplementaryAgreement"> </label><div id="paymentsCheckboxLabel"> Jag godkänner Storytels <span id="purchasetermspopup">Köpvillkor</span> & <span id="privacypolicypopup">Integritetspolicy</span> </div> </div>

我总是使用标签的for="supplementaryAgreement"来定位元素,因为如果我使用输入的id="supplementaryAgreement",我最终不得不在定位元素之前等待超时持续时间。有人知道为什么吗?

因此,在我必须为iframes工作之前,这一直很好,尽管我已经切换回大型机,但如果我现在使用for="supplementaryAgreement",我会得到DOM树上没有匹配项的错误。它仍然可以使用id="supplementaryAgreement",但必须等待它超时似乎没有效率。

我认为这个问题的原因在于复选框的复杂标记。复选框似乎与label::after元素重叠,因此TestCafe无法正确找到该复选框。另一个问题是label[for=supplementaryAgreement]height等于0。

在这种情况下,您减少选择器超时的想法是一个很好的解决方法。它不起作用,因为存在语法错误。请尝试以下方法:Selector('#supplementaryAgreement', { timeout: 1000 })

最新更新