Testcafe - 使用id选择复选框时总是出现超时等待的情况。

问题描述 投票:0回答:1

我们的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工作,虽然我已经切换回mainframe,但是我会得到错误的DOM树上没有匹配,如果我使用 for="supplementaryAgreement" 现在。它仍然可以与 id="supplementaryAgreement" 但要等它超时,似乎效率不高。

testing iframe checkbox selector testcafe
1个回答
0
投票

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

在这种情况下,你关于减少选择器的超时时间的想法是一个很好的变通方法。但由于语法上的错误,它并不奏效。请尝试以下方法。Selector('#supplementaryAgreement', { timeout: 1000 })

© www.soinside.com 2019 - 2024. All rights reserved.