0

基本的に私は「greasemonkey」と呼ばれるFirefoxプラグインを使用しており、各ページで特定のクラス指定の画像を見つけてクリックすることを目的としたスクリプトを作成しようとしています。「クリック」するアイテムにhrefがある場合、アンカーなどを使用した他のいくつかの投稿があるため、これはかなり簡単に実行できますが、フォローするhrefがないと仮定すると、画像を「クリック」する方法があります。またはボタン?

たとえば、調査を進めたいとしましょう。チェックボックスやラジオボタンがいくつかあります。グリースモンキーのスクリプトを使用してボタンを選択する方法はありますか?

参考までに、これは私が過去にhref属性を持つボタンを「クリック」するために行ったことです。

$("a.tip").each(function(){
if($(this).attr("caption")=="captionName"){
$.get("http://www.website.com" +$(this).attr("href"),window.location.reload());
return;
    }
});

*グリースモンキーの機能に関しては、何ができるのか、何ができないのかはわかりません。diveintogreasemonkey.orgはホストされていないようであるため、ドキュメントを入手するのはかなり困難です。

また、スクリプトにクリックを実行させたいので、これはクリックリスナーとは異なります。私を正しい方向に向けることができる参考資料もありがたいです。

最後に、私はこの「Webコード」の分野にかなり慣れていないので、何もわからないように説明していただければ、まったく気分を害することはありません。

4

2 に答える 2

0

実際のクリックイベントを生成することで、ほぼすべてをクリックできます。hrefは不要であり、この手法は「Web2.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);


これらのスニペットは両方とも1つのリンク/ボタンなど用であることに注意してください。一度に。
AJAX駆動型ページでは、ターゲットノードが最初に存在することを確認し、必要に応じて待機してください。

于 2012-04-14T12:25:52.507 に答える
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/

私のためにうまくいった。
それがあなたのために働くかどうか見てください。

于 2012-04-14T04:19:04.017 に答える