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

all*_*rog 7 html console jquery google-chrome

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

我已经尝试执行下面的命令,但它没有做我想要的.

$("btn small info").click()
Run Code Online (Sandbox Code Playgroud)

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

epa*_*llo 11

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

$("#body .btn").trigger("click");
Run Code Online (Sandbox Code Playgroud)


小智 6

假设该页面已包含 jQuery 库(引用的页面已包含),则:

$(".btn.small.info").click();
Run Code Online (Sandbox Code Playgroud)

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

如果页面没有必要的 jQuery 库,请在执行上面的命令之前尝试以下操作:

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

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


小智 5

你的班级似乎缺少.. 尝试以下其中一项:

$(".btn").click();
$("button").click();
$("input:submit").click();
$(".btn.small.info").click();
Run Code Online (Sandbox Code Playgroud)


mek*_*all 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);
Run Code Online (Sandbox Code Playgroud)