Javascript 如何单击“随机元素”;";多少次?

Javascript 如何单击“随机元素”;";多少次?,javascript,cypress,Javascript,Cypress,要求是点击随机元素n次。(4次) 这些元素具有公共CSS选择器[class*='SelectionContent']。 我的想法是获取并存储数组中的所有元素,然后使用Math.random函数单击它 const months=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”];const random=Math.floor(Math.random()*months.length);控制台日志(随机,月[随机]) 但问题是我如何能点击元素4次 我试过的 var items=A

要求是点击随机元素n次。(4次) 这些元素具有公共CSS选择器
[class*='SelectionContent']
。 我的想法是获取并存储数组中的所有元素,然后使用
Math.random函数单击它

const months=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”];const random=Math.floor(Math.random()*months.length);控制台日志(随机,月[随机])

但问题是我如何能点击元素4次

我试过的
var items=Array(cy.get('[class*=“style\u SelectionContent”]')Math.floor(Math.random()*items.length)。单击({multiple:true})


只需一个简单的


将它放入一个循环,循环计数直到达到次数。
单击元素4次
-调用
。单击()
4次。将随机元素生成器移动到函数并调用它4次。这里的问题是,如果我通过了
{multiple:true}
,然后cypress尝试单击所有元素
var items=cy。get()
在cypress中不起作用,请学习如何使用链。@CherryDT你是对的,我重新编写了测试,一个简单的for循环就可以了,它显然是一个单线程,每个exec都在等待前一个线程的结束。我删除了我的答案,这与我无关
for (let i = 0; i < 4; i++) {
   cy.get(element).click()
   cy.wait(100) //this is in case there is some rendering after click
}
function click4 (element, i = 0) {
   if (i>=4) { return }
   cy.get(element).click()
   cy.wait(100) //this is in case there is some rendering after click
   i++
   click4(element, i)
}
click4(element)