ホームページ >ウェブフロントエンド >jsチュートリアル >PhantomJS でクリックをシミュレートするには?

PhantomJS でクリックをシミュレートするには?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-05 09:52:091007ブラウズ

How to Simulate a Click in PhantomJS?

PhantomJS での要素のクリック

PhantomJS で要素をクリックする場合、標準の .click() メソッドはサポートされていません。代わりに、イベントを作成して送出する必要があります。

次のコードを考えてみましょう:

page.evaluate(function() {
    document.getElementById('idButtonSpan').click();  
});

.click() は関数ではないため、このコードはエラーになります。これを解決するには、イベントを作成してディスパッチします:

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(function() {
    click(document.getElementById('idButtonSpan'));  
});

以上がPhantomJS でクリックをシミュレートするには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。