Checkbox 有没有办法只勾选所需的复选框?
我尝试只选择具有DOM的有限项目,如下所示: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
<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()
})