2013-05-13 16 views
6

私のページのすべての要素(リンク、ボタンなど)をクリックするjavascriptの機能を探しています。デフォルトでは、すべての要素を無効にする必要があります。私はこれを私のテスト環境でSeleniumで使用して、ページのすべての要素が無効になっているかどうかをチェックしています。まずページ上のすべての要素を選択してください

+0

何を試しましたか? –

+0

私はseleniumから提供された関数ですべてのリンクを取得しようとしていました:selenium.getAllLinks()と私はclick()を試しました。また、getAllLinks()で私はリンクを得ることができません... – John

答えて

7

、ページ上のすべての要素を取得:マウスイベントを行い、今、あなたはそれらを得ること

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); 
} 
+0

ちょっと!早速お返事をいただきありがとうございます!私はあなたのコードに従うことができ、それは私に感謝します。不幸にも、私はdocument.getElementsByTagName( "*");から任意の要素を取得できません。 – John

+0

私はコード内のいくつかのタイプミスを変更しました。 また、ドキュメントが読み込まれた後にクリックをテストする関数を呼び出すようにしてください。私がbodyのonLoadステートメントに入れたら、私のコードは正常に動作します! – JasperV

+0

ブラウザがすべてのリンクをクリックするコードを実行している場合は?実際、リンクがアクティブな場合、クリックされた最初のリンクは次のページにリダイレクトされます。リンクが無効になっている場合、何も起こらないはずです。それがうまくいくと私は期待しています。しかし、今、私はselenium.getAllLinksとのページのリンクを得ることができます。しかし、clickEventは何もしないようです。 – John