2012-04-13 56 views
0

基本上我使用Firefox插件叫做“Greasemonkey的”,我试图写一个脚本谁的目的是要找到每个页面上的特定类指定的图像,并点击它。假设被“点击”的项目有一个href,由于其他一些帖子,这很容易实现,有些使用锚点等,但假设没有href可以遵循,有没有办法在图像上“点击”或按钮?使用JavaScript点击项目没有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

Greasemonkey的主页:http://www.greasespot.net/ – 2012-04-13 20:15:07

+0

非常感谢你,火狐插件的链接仅引用我前面提到的网站。我会确保我收藏此书。 – 2012-04-13 20:20:26

+1

什么是用于制作按钮的html的示例? – MyStream 2012-04-13 20:21:32

回答

0

您可以通过生成实际的点击事件来点击几乎任何事情。不需要href,这种技术非常适合在“web 2.0”网站上激活现代化的,基于javascript的控件。

即使当.click()或jQuery的`.click()不这样做,该方法也可以工作。 (但是,没有一种方法上每天都要工作控制)。

普通的JavaScript(工程在火狐,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驱动的页面,一定要检查目标节点首先存在,并且等待,如果必要的。

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/

为我工作得很好。
看看它是否适合你。

相关问题