我正在尝试使用Chrome控制台选择页面中的所有按钮,然后以编程方式单击它们。与我正在玩的类似的页面就是这一页:http://api.openstack.org/api-ref.html#compute-ext
我已经尝试执行下面的命令,但它没有按照我的意愿执行。
$("btn small info").click()
这有可能吗?我应该发出什么命令?
答案 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();