私のページのすべての要素(リンク、ボタンなど)をクリックするjavascriptの機能を探しています。デフォルトでは、すべての要素を無効にする必要があります。私はこれを私のテスト環境でSeleniumで使用して、ページのすべての要素が無効になっているかどうかをチェックしています。まずページ上のすべての要素を選択してください
答えて
、ページ上のすべての要素を取得:マウスイベントを行い、今、あなたはそれらを得ること
var elements = document.getElementsByTagName("*");
を、ループを作成し、すべての要素にイベントを適用:
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
for (var i=0; i < elements.length; i++)
{
elements[i].dispatchEvent (clickEvent);
}
ちょっと!早速お返事をいただきありがとうございます!私はあなたのコードに従うことができ、それは私に感謝します。不幸にも、私はdocument.getElementsByTagName( "*");から任意の要素を取得できません。 – John
私はコード内のいくつかのタイプミスを変更しました。 また、ドキュメントが読み込まれた後にクリックをテストする関数を呼び出すようにしてください。私がbodyのonLoadステートメントに入れたら、私のコードは正常に動作します! – JasperV
ブラウザがすべてのリンクをクリックするコードを実行している場合は?実際、リンクがアクティブな場合、クリックされた最初のリンクは次のページにリダイレクトされます。リンクが無効になっている場合、何も起こらないはずです。それがうまくいくと私は期待しています。しかし、今、私はselenium.getAllLinksとのページのリンクを得ることができます。しかし、clickEventは何もしないようです。 – John
何を試しましたか? –
私はseleniumから提供された関数ですべてのリンクを取得しようとしていました:selenium.getAllLinks()と私はclick()を試しました。また、getAllLinks()で私はリンクを得ることができません... – John