Checkbox 有没有办法只勾选所需的复选框?

Checkbox 有没有办法只勾选所需的复选框?,checkbox,cypress,Checkbox,Cypress,我尝试只选择具有DOM的有限项目,如下所示: <div class="checkbox-wrap"> <div class="wb-checkbox"> <input id="Account" name="Account" type="checkbox" value="true"><input name="Ac

我尝试只选择具有DOM的有限项目,如下所示:

<div class="checkbox-wrap">
    <div class="wb-checkbox">
    <input id="Account" name="Account" type="checkbox" value="true"><input name="Account" type="hidden" value="false">
    <label for="Account">Account</label>
    <span class="check-mark"></span>
    </div>
    </div>

也会选择所有项目。但是现在我只需要选择前10个项目。

您可以在选择(捕捉多个元素)和操作之间应用筛选方法

cy.get()
.filter((索引,元素)=>索引<10)//仅前10个元素
。单击({multiple:true})

您可以在filter函数中使用任何类型的javascript表达式

.filter((513;,element)=>element.innerText.startsWith('A')//以“A”开头的标签

选择随机元素

const totalcheckbox=20;
常数numberToSelect=10;
const randomIndexes=Array.from(
{length:totalcheckbox},//空数组
()=>Math.floor(Math.random()*totalcheckbox)//映射到随机索引
).slice(0,numberToSelect)//根据需要取尽可能多的
得到
.filter((索引)=>randomIndexes.includes(索引))//应用随机性

你可以得到一些重复,这可能不是你想要的。查看SO中的“非重复随机数”,并相应地调整此代码。

每个复选框是否具有某些“id”属性?@damithanuradha是。每个复选框都有id。我已经在帖子中添加了。有没有办法从复选框中选择随机项?我个人不喜欢我的测试做随机的东西,但从技术上来说这是可能的。
it('Select all items', ()=>{
    cy.get('#WallTransportationModeId').select('Wallbee-Road')
    cy.get(':nth-child(n) > .checkbox-wrap > .wb-checkbox > label').click({ multiple: true, force: true })
    cy.get('#btn-save-transportation-layout-setup').click()
  
})