以编程方式点击Chrome控制台中页面上的所有按钮

时间:2013-06-25 14:41:06

标签: jquery html google-chrome console

我正在尝试使用Chrome控制台选择页面中的所有按钮,然后以编程方式单击它们。与我正在玩的类似的页面就是这一页:http://api.openstack.org/api-ref.html#compute-ext

我已经尝试执行下面的命令,但它没有按照我的意愿执行。

$("btn small info").click()

这有可能吗?我应该发出什么命令?

6 个答案:

答案 0 :(得分:11)

嗯,您要确保只选择该部分中的按钮,这样就不会运行搜索。

$("#body .btn").trigger("click");

答案 1 :(得分:5)

基于Salketers对问题的评论,这里有一个小脚本,它将以1秒的间隔逐个编程地点击所有按钮,并将点击的按钮记录到控制台:

var buttons = $("button"), 
    interval = setInterval(function(){
        var btn = $(buttons.splice(0, 1));
        console.log("Clicking:", btn);
        btn.click();
        if (buttons.length === 0) {
            clearInterval(interval);
        }
    }, 1000);

答案 2 :(得分:4)

假设页面已经包含了jQuery库(引用的页面有),那么:

$(".btn.small.info").click();

这将隐式迭代具有这三个类的所有选择器,并模拟单击事件。

如果页面没有必要的jQuery库,那么在执行上面的命令之前尝试这个:

var jq = document.createElement('script');
jq.src = "http://code.jquery.com/jquery-latest.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
jQuery.noConflict();

请注意,您在问题中使用的命令不会选择类btn等元素。您必须使用点来选择.class

答案 3 :(得分:3)

您的班级似乎缺少.。 尝试其中之一:

$(".btn").click();
$("button").click();
$("input:submit").click();
$(".btn.small.info").click();

答案 4 :(得分:2)

您的选择器可能有误。 尝试做这样的事情

$(".btn.small.info").click();

这会点击一个包含btn small info类的按钮,你试图点击dom元素。

以下是有关jQuery选择器的更多文档:

答案 5 :(得分:2)

[针对新手的简单解决方案],请在下面使用它单击所有匹配的元素

var btns = document.getElementsByClassName('followBtn')
for (var i =0; i<btns.length; i++) 
btns[i].click();

也可以与标签名称一起使用。

或者您也可以使用Xpath定义特定元素使用以下代码示例

*//Xpath to get all the elements whose class is "followBtn" and tagname button*
var btns = $x('//button[@class="followBtn"]')

*// looping through all the elements in btns*
for (var i =0; i<btns.length; i++) 
btns[i].click();