我正在尝试使用 Chrome 控制台选择页面中的所有按钮并以编程方式单击它们。与我正在玩的类似页面是这个:http ://api.openstack.org/api-ref.html#compute-ext
我已经尝试执行下面的命令,但它没有做我想要的。
$("btn small info").click()
这可能吗?我应该发出什么命令?
我正在尝试使用 Chrome 控制台选择页面中的所有按钮并以编程方式单击它们。与我正在玩的类似页面是这个:http ://api.openstack.org/api-ref.html#compute-ext
我已经尝试执行下面的命令,但它没有做我想要的。
$("btn small info").click()
这可能吗?我应该发出什么命令?
好吧,您要确保只选择该部分中的按钮,这样您就不会运行搜索。
$("#body .btn").trigger("click");
根据 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);
您的班级似乎缺少.
. 尝试其中之一:
$(".btn").click();
$("button").click();
$("input:submit").click();
$(".btn.small.info").click();
假设页面已经包含了 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
.
[新手的简单解决方案]使用下面点击所有匹配的元素
var btns = document.getElementsByClassName('followBtn')
for (var i =0; i<btns.length; i++)
btns[i].click();
也可以与标签名称一起使用。
或者您也可以使用 Xpaths 定义特定元素使用下面的代码示例
*//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();
您的选择器可能是错误的。尝试做这样的事情
$(".btn.small.info").click();
这将单击带有 classes 的按钮btn small info
,您尝试单击 dom 元素。
这里有更多关于 jQuery 选择器的文档: