PhantomJS: 要素のクリックのシミュレーション
コンテキスト:
を使用して要素をクリックしようとしたときPhantomJS の page.evaluate 関数では、未定義に関連するエラーが発生する可能性があります。関数として呼び出されます。これは、ターゲット要素がネイティブ入力ボタンではなくスパンである場合に発生します。
解決策:
この問題を解決し、任意の要素のクリックをシミュレートするには、次を利用します。次のカスタム関数:
function click(el){ var ev = document.createEvent("MouseEvent"); ev.initMouseEvent( "click", true /* bubble */, true /* cancelable */, window, null, 0, 0, 0, 0, /* coordinates */ false, false, false, false, /* modifier keys */ 0 /*left*/, null ); el.dispatchEvent(ev); }
この関数は合成マウス クリック イベントを作成し、それを指定された要素に送出します。 page.evaluate と組み合わせて使用すると、クリック アクションを効果的にシミュレートできます。
page.evaluate(function() { click(document.getElementById('idButtonSpan')); });
追加メモ:
以上がPhantomJS を使用して要素 (スパンなど) のクリックをシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。