Javascript 如何获取DOM中所有可单击的元素并随机单击它们

Javascript 如何获取DOM中所有可单击的元素并随机单击它们,javascript,html,dom,Javascript,Html,Dom,我做了一个我认为非常简单的剧本 var gatherClickElements = function(curnode, gathered) { if(typeof curnode.onclick === 'function') gathered.push(curnode); curnode.childNodes.forEach(function(child) { gatherClickElements(child, gathered);

我做了一个我认为非常简单的剧本

var gatherClickElements = function(curnode, gathered)
{
    if(typeof curnode.onclick === 'function')
        gathered.push(curnode);
    curnode.childNodes.forEach(function(child) {
        gatherClickElements(child, gathered);       
    });
};

var clickElems = [];

gatherClickElements(document.documentElement, clickElems);

setInterval(function() {
    var rand = clickElems[Math.floor(Math.random() * clickElems.length)];
    rand.onclick();
}, 100);

尝试随机单击DOM中的每个可单击元素,但它不起作用。知道我哪里出错了吗?

这将单击随机元素:

setInterval(function() {
    var rand = clickElems[Math.floor(Math.random() * clickElems.length)];
   rand.click(); 
console.log(rand.onclick);
}, 100);

这将单击随机元素:

setInterval(function() {
    var rand = clickElems[Math.floor(Math.random() * clickElems.length)];
   rand.click(); 
console.log(rand.onclick);
}, 100);

你面临的确切问题是什么?它怎么不起作用?控制台是否显示
rand.onclick
etc的结果?(rand.onclick)不会单击任何内容。。。您正在检查他们是否在该元素上有一个onclick。您可以用整个html发布您的源代码吗。这样我们才能找到解决方案?你面临的确切问题是什么?它怎么不起作用?控制台是否显示
rand.onclick
etc的结果?(rand.onclick)不会单击任何内容。。。您正在检查他们是否在该元素上有一个onclick。您可以用整个html发布您的源代码吗。这样我们才能找到解决方案?更改rand.onclick();单击();给我一些错误,比如无法读取未定义的at:16:6change rand.onclick()的属性“Click”;单击();给我一些错误,例如无法读取未定义的属性“Click”:16:6