簡體   English   中英

使用javascript點擊沒有href的項目

[英]Using javascript to click on item with no href

基本上,我正在使用名為“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的能力,我不確定它可以做什么,不能做什么。 divintogreasemonkey.org 似乎不再托管,因此很難獲得文檔。

此外,這與單擊偵聽器不同,因為我希望腳本執行單擊操作。 您可能擁有的任何可以為我指明正確方向的參考資料也將不勝感激。

最后一點,我對“網絡代碼”這個領域還很陌生,所以如果你能像我什么都不知道一樣友好地解釋它,我根本不會被冒犯。

由於您使用的是 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/

對我來說工作得很好。
看看它是否適合你。

您可以通過生成實際的點擊事件來點擊任何東西。 不需要 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 驅動的頁面上,請確保首先檢查目標節點是否存在,並在必要時等待。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM