Testcafe - 使用 id 选择复选框总是以完全超时等待结束
Testcafe - Selecting checkbox using id always end up with the full timeout wait
我们的 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"
我最终不得不等待超时持续时间才能找到元素。有谁知道为什么?
所以在我必须为 iframe 工作之前一直工作正常,虽然我已经切换回大型机但是我会得到错误,如果我使用 DOM 树上没有匹配项 for="supplementaryAgreement"
现在。它仍然可以与 id="supplementaryAgreement"
一起使用,但必须等待它超时似乎效率不高。
我认为造成此问题的原因在于复选框的复杂标记。似乎复选框被 label::after
元素重叠,所以 TestCafe 无法正确找到复选框。另一个问题是 label[for=supplementaryAgreement]
的 height
等于 0。
在这种情况下,您减少选择器超时的想法是一个很好的解决方法。它不起作用,因为存在语法错误。请尝试以下方法:Selector('#supplementaryAgreement', { timeout: 1000 })
我们的 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"
我最终不得不等待超时持续时间才能找到元素。有谁知道为什么?
所以在我必须为 iframe 工作之前一直工作正常,虽然我已经切换回大型机但是我会得到错误,如果我使用 DOM 树上没有匹配项 for="supplementaryAgreement"
现在。它仍然可以与 id="supplementaryAgreement"
一起使用,但必须等待它超时似乎效率不高。
我认为造成此问题的原因在于复选框的复杂标记。似乎复选框被 label::after
元素重叠,所以 TestCafe 无法正确找到复选框。另一个问题是 label[for=supplementaryAgreement]
的 height
等于 0。
在这种情况下,您减少选择器超时的想法是一个很好的解决方法。它不起作用,因为存在语法错误。请尝试以下方法:Selector('#supplementaryAgreement', { timeout: 1000 })