2012-04-13 58 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/

爲我工作得很好。
看看它是否適合你。

相關問題