いくつかのこと:
言語エンコーディングが要因になる可能性があります。
jQuery.click()
は、さまざまなGreasemonkeyスクリプトシナリオでは機能しません。この回答のように使用MouseEvents
します。
AJAXに注意してください。それは<input>
動的に追加または変更されますか?その場合は、前にリンクした回答のように使用waitForKeyElements
します。
入力は実際にクリックしようとするのではなく、javascript関数をトリガーするため、通常は関数を直接呼び出すだけで十分です。そのようです:
unsafeWindow.getCSVData();
GMドキュメントの「クリックイベントの生成」も参照してください。
CSV保存
jQueryセレクターのように問題のある文字に依存するのではなく、ページの周囲の構造(質問に表示されるはずです)をより多く使用します。たとえば、次のようになります。
var targSubmit = $("form.foo div.bar input[type=submit]:eq(2)");
ターゲットページにリンクするか、セレクターの選択に役立つ実際のHTMLを提供します。
他の回答で述べたように、それは5分間の間違った間隔です。5 x 60 x 1000、またはを使用し300000
ます。
関数名またはグローバル変数名としてcommonまたはkeywordsを使用しないでください。click
あまりにも一般的であり、スクリプトの挿入によってはfunction click(){...
オーバーライドされる可能性があります。window.click
ディレクティブを忘れないで@grant
ください。
すべてをまとめると、これは機能するはずです。
// ==UserScript==
// @name autoclick
// @namespace yy
// @description yy
// @include http://...
// @version 1
// @grant none
// ==/UserScript==
setInterval (clickSpecialSubmit, 5 * 60 * 1000); // 5 minutes
function clickSpecialSubmit () {
unsafeWindow.getCSVData ();
}
clickSpecialSubmit
または、次のようなもの
に置き換えてください。
function clickSpecialSubmit () {
// THIS NEXT LINE MUST BE TUNED TO MATCH YOUR ACTUAL PAGE!
var targSubmit = $("form.foo div.bar input[type=submit]:eq(2)");
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
targSubmit[0].dispatchEvent (clickEvent);
}
Big5(traditonal)
これらの文字を使用して含むGreasemonkeyスクリプトを機能させることができません。Firefoxはエラーコンソールに「不正な文字」を報告します。
それは私のテストシステムかもしれませんが、Greasemonkeyスクリプトは有効なUTF-8でなければならないことに注意してください。ソースコードから:
error.scriptCharset=Error reading script: All Greasemonkey scripts MUST be encoded with UTF-8.