所以我有一个网页上有大约20个按钮,我想通过谷歌浏览器的控制台点击所有这些按钮。
按钮的类都是一样的;但是,很多其他非按钮元素也具有相同的类。
我如何仅点击具有相同类别的按钮(例如:randomclass),并在每次点击之间添加1秒的延迟。
我开始时:
var elems = document.getElementsByClassName("randomclass");
现在,当我查看该数组时,我不仅会获得按钮,还会链接同一个我不想点击的类。
之后我输入:
for(var i=0; i<elems.length;i++) { elems[i].click(); }
这样做是单击数组中的所有元素。如何告诉它只看按钮(
谢谢你们。有兴趣了解这是什么解决方案。
答案 0 :(得分:0)
您可以添加if
语句来澄清这个简单的要求:
for(var i=0; i<elems.length;i++) {
if( elems[i].tagName.toLowerCase() === "button" )
elems[i].click();
}
将来,或者使用更复杂的过滤器,您可以使用document.querySelectorAll()
方法获取节点。
var elems = document.querySelectorAll('button.randomclass');
for( var i = 0; i < elems.length; i++ ) {
//Do stuff here...
}
答案 1 :(得分:0)
这个解决方案是基于jQuery的。 :)
$('.clickme').each(function(i,button){
$(button).click(function(e){
console.log('im on fire ',$(this).attr('name'));
});
});
$('#fire').click(function(){
console.log('fired');
$('.clickme').each(function(i,button){
$(button).trigger('click');
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type='button' id='fire' value='FIRE BOTH' />
<input type='button' name='one' class='clickme' value='One' />
<input type='button' name='two' class='clickme' value='Two' />
&#13;
答案 2 :(得分:0)
试试此代码
doc.children.each_with_object([]){ |n, a| a << [n.text, n.name] unless n.text? }
# => [["My", "nnp"], ["name", "nn"], ["is", "vbz"], ["Max", "nnp"]]
答案 3 :(得分:-1)
首先,只需使用Document.querySelectorAll获取按钮并从那里开始。
https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll