Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mensimulasikan Peristiwa Klik dengan betul dalam PhantomJS?

Bagaimana untuk Mensimulasikan Peristiwa Klik dengan betul dalam PhantomJS?

DDD
DDDasal
2024-12-09 12:45:14387semak imbas

How to Properly Simulate Click Events in PhantomJS?

Mengklik Elemen dengan PhantomJS

Apabila cuba mengklik elemen dalam PhantomJS menggunakan fungsi page.evaluate dan document.getElementById('idButtonSpan').click(); , anda mungkin menghadapi ralat yang menyatakan "undefined is not a function...", walaupun elemen itu wujud. Ini kerana .click() bukan fungsi standard untuk mengklik elemen dalam PhantomJS.

Untuk mensimulasikan acara klik dalam PhantomJS, anda perlu mencipta dan menghantar acara tersuai seperti berikut:

function click(el) {
    var ev = document.createEvent("MouseEvent");
    ev.initMouseEvent(
        "click",
        true, // bubble
        true, // cancelable
        window,
        null,
        0, // screenX
        0, // screenY
        0, // clientX
        0, // clientY
        false, // ctrlKey
        false, // altKey
        false, // shiftKey
        false, // metaKey
        0, // button
        null // relatedTarget
    );
    el.dispatchEvent(ev);
}

Anda kemudian boleh menggunakan fungsi klik ini pada elemen yang dikehendaki untuk mensimulasikan acara klik.

Atas ialah kandungan terperinci Bagaimana untuk Mensimulasikan Peristiwa Klik dengan betul dalam PhantomJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn