プロが教える店舗&オフィスのセキュリティ対策術

javascript(GreaseMonkey)のことで質問があります。
javascriptを勉強し始めてまだ日が浅いです。

<a href="XXX" class="YYY" target="_blank">ZZZ</a>

というものが含まれてるページがあったとします。
これをページ開いて4秒後に自動でクリックするスクリプトを

// ==UserScript==
// @name xxx
// @namespace yyy
// @description zzz
// @include pppp://ppp.ppp
// ==/UserScript==
setTimeout(function() {
document.getElementsByClassName('YYY')[2].click();
}, 1000*4);


こういう風に書いてみたのですが、
思うとおりに動いてくれません。どうやらYYYという要素を含んだやつがランダムに表示されていて毎回3番目では無いようなのですが、これをClassName以外でどうやって同定すればいいか教えていただきたいです。ZZZは固有の文字列です。
どういうスクリプトだと、動きますか教えていただきたいです。

よろしくお願いします。

A 回答 (1件)

たとえばこんな感じでは?



setTimeout(function() {
var n=document.getElementsByClassName('YYY');
for(var i=0;i<n.length;i++){
if(n[i].text=="ZZZ"){
n[i].click();
return false;
}
}
}, 1000*4);
    • good
    • 0
この回答へのお礼

ありがとうございました。
的確なご回答でなんとか出来ました!

お礼日時:2016/11/21 21:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!