基本上我使用名为“greasemonkey”的firefox插件,我正在尝试编写一个脚本,其目的是在每个页面上找到特定的类指定图像并单击它。如果要“点击”的项目有一个href,这很容易实现,因为这里有几个其他帖子,有些使用锚点等,但假设没有href可以跟随,有没有办法“点击”图像还是按钮?
例如,假设我想通过调查,他们有几个复选框或单选按钮。有没有办法在greasemonkey中使用脚本选择按钮?
作为参考,这是我过去“点击”具有href属性的按钮所做的。
$("a.tip").each(function(){
if($(this).attr("caption")=="captionName"){
$.get("http://www.website.com" +$(this).attr("href"),window.location.reload());
return;
}
});
*至于greasemonkey的功能,我不确定它能做什么,不能做什么。 diveintogreasemonkey.org似乎不再被托管,因此很难获得文档。
此外,这与点击侦听器不同,因为我希望脚本执行单击操作。您可能拥有的任何可能指向正确方向的参考资料也将受到赞赏。
最后一点,我对这个“网络代码”领域还是比较陌生的,所以如果你能像我什么都不知道那样善解释,我就不会被冒犯了。谢谢!
答案 0 :(得分:0)
由于您使用的是JQuery,我认为@require是您的脚本
// @require http://code.jquery.com/jquery.min.js
现在,click()
为什么不为你工作?
你在控制台中有任何错误吗?
我试过这段代码
setTimeout(function(){
alert('about to click/select a radio button')
$('#radio2').prop('checked', true);
alert('ready to click images with class .imagem ?')
$('.imagem').click()
}, 2000)
此处:http://jsfiddle.net/QkCs4/5/
对我来说很好。
看看它是否适合你。
答案 1 :(得分:0)
您可以通过生成实际点击事件来点击任何内容。不需要href,这种技术非常适合在“web 2.0”网站上激活现代的,由javascript驱动的控件。
即使.click()
或jQuery的`.click()没有,这种方法仍然有效。 (但是,没有任何方法适用于每个控件。)
普通JavaScript (适用于Firefox,Chrome,Greasemonkey等):
var clickTarget = document.querySelector ("Any valid CSS selector");
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
clickTarget.dispatchEvent (clickEvent);
jQuery版本:
var clickTarget = $ ("Any valid jQuery selector");
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
clickTarget[0].dispatchEvent (clickEvent);
请注意,这两个片段都用于一个链接/按钮/等。一次。
在AJAX驱动的页面上,请确保首先检查目标节点是否存在,并在必要时等待。