点击页面上的所有按钮

4
我在想是否有人能帮我编写一个简单的JavaScript代码,来点击页面上所有具有相同value name/input name的按钮?
它们共享以下内容:
<input name="all" type="submit" value="Do All">

这是按钮的截图:http://oi61.tinypic.com/2nqblnr.jpg。也许应该制作一个“全部点击”按钮?这将是一个Chrome扩展(用于个人使用),所以我不能改变“全部执行”按钮的代码。我在谷歌上找了好久,我对HTML/CSS还好,但对JavaScript真的很差。

2
你可能不想使用Java来完成这个任务。JavaScript更加合适。 - Asaph
7个回答

9

如果您想点击页面上所有名称相同的按钮,可以使用getElementsByName()函数,并将其设置为一个变量,该变量将保存NodeList中的所有按钮,然后循环遍历NodeList并为每个按钮调用click()事件。

例如:

   // Get all buttons with the name 'all' and store in a NodeList called 'buttons'
   var buttons = document.getElementsByName('all');

    // Loop through NodeList and call the click() function on each button
    for(var i = 0; i <= buttons.length; i++)  
       buttons[i].click();

请添加解释。您的答案目前正在被投票删除。请这样做以避免将来的误解。 - Daniel Cheung
应该稍微好一点 :) - AnonDCX

3

// Select all buttons with class .btn
const inputBtns = document.querySelectorAll('[name="all"]');
// Select click all button
const clickAllBtn = document.querySelector('.click-all');

// Attach click handler to all input buttons
for(let i = 0; i < inputBtns.length; i++) {
 inputBtns[i].addEventListener('click', function() {
   alert(this.value);
  })
}

// Click all buttons, when user click .click-all button
clickAllBtn.addEventListener('click', function() {
  for(let i = 0; i < inputBtns.length; i++) {
   inputBtns[i].click();
  }
})
<input name="all" type="submit" value="Do All 1">
<input name="all" type="submit" value="Do All 2">
<button type="button" class="click-all">
click all
</button>


1
var buttons = document.getElementsByClassName('uArJ5e');

    // Loop through NodeList and call the click() function on each button
    for(var i = 0; i <= buttons.length; i++)  
       buttons[i].click();

这将点击 Google 上的所有按钮 ;)


1
这个方法适用于我,假设那些元素中有href="#show"或类似的内容。
var buttons = document.querySelectorAll('[href="#show"]');

for(var i = 0; i <= buttons.length; i++)  
   buttons[i].click();

0

使用Java...也许可以使用Selenium。但是您可以使用jQuery(JavaScript的框架),因此代码可能如下:

<scrpipt>
function ClickAllButtons()
{
    if($("input[type=button][name='someName']").length > 0)
    {
        $('input[type=button]').each(function(i){
        var $currentButton = $(this);
        $currentButton.click();
        });
    }
}
</script>

0

-3
你需要做的是创建一个类,例如: public class MyClass{ ........ }
然后创建方法来处理当你点击按钮时所需的操作。如果你的方法不是静态的,那么就使用对象在特定的按钮中调用这些方法。
现在,你可以创建一个按钮来调用所有你想要调用的方法,它将会完成你所要求的操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接