Untuk mengklik elemen dalam PhantomJS, kaedah .click() standard tidak disokong. Sebaliknya, acara mesti dibuat dan dihantar.
Pertimbangkan kod berikut:
page.evaluate(function() { document.getElementById('idButtonSpan').click(); });
Kod ini akan mengakibatkan ralat kerana .click() bukan fungsi. Untuk menyelesaikan masalah ini, buat acara dan hantarkannya:
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); }
Kemudian, anda boleh menggunakan fungsi ini untuk mengklik elemen:
page.evaluate(function() { click(document.getElementById('idButtonSpan')); });
Atas ialah kandungan terperinci Bagaimana untuk Mensimulasikan Klik dalam PhantomJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!