ホームページ >ウェブフロントエンド >jsチュートリアル >PhantomJS で `.click()` が失敗するのはなぜですか? 要素を適切にクリックするにはどうすればよいですか?
.click() を使用して要素をクリックしようとすると、PhantomJS で失敗することがよくあり、「未定義は関数ではありません。」のようなエラーが発生します。 ..」。この問題は、.click() が標準 DOM 仕様の一部ではないために発生します。
要素をクリックするには、次のようにイベントを作成して送出する必要があります。
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); }
次に、この関数を使用して、引数として渡すことで目的のスパン要素をクリックできます。
click(document.getElementById('idButtonSpan'));
このアプローチでは、マウス クリック イベントをシミュレートし、組み込みのクリック機能がない場合でも要素をクリックできるようになり、この特定のシナリオで Casper が直面する制限に対処できます。
以上がPhantomJS で `.click()` が失敗するのはなぜですか? 要素を適切にクリックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。