私はすべてこのようないくつかのリンクを持つページを持っています:
<a href="/" class="answer-item" rel="0">10</a>
この関数を使用してclick()
、ユーザーがそのうちの1つをクリックするのをシミュレートしたいのですが、私のテストでは機能しないようです。
//Evaluate a mathematical expression from another part of the page
var numberAnswer = eval(document.getElementById("question-title").getElementsByTagName("b")[0].innerHTML);
//Builds an array with the links that may match the expression
var choices = document.getElementsByClassName('answer-item');
//Iterates through array to find a match then clicks it
for(var i in choices){
if(choices[i].innerHTML == numberAnswer){
choices[i].click();
break;
}
}
choices[i]
それが正しい要素だと確信しています。
Firefoxは何もしません、Operaは何もしません、そしてclick()はChromeでは利用できません(私は思います)。
dispatchEvent()
また、私はこの形式で使用しようとしました:
var evt = document.createEvent('MouseEvents');
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
choices[i].dispatchEvent(evt);
これは明らかtrue
にFirefoxとChromeで返されましたが、何も変更されませんでした。
最も厄介な部分は、href
属性のみを持つリンクが。で正常に機能すること.click()
です。