Um auf ein Element in PhantomJS zu klicken, wird die Standardmethode .click() nicht unterstützt. Stattdessen muss ein Ereignis erstellt und versendet werden.
Beachten Sie den folgenden Code:
page.evaluate(function() { document.getElementById('idButtonSpan').click(); });
Dieser Code führt zu einem Fehler, da .click() keine Funktion ist. Um dieses Problem zu beheben, erstellen Sie ein Ereignis und versenden es:
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); }
Dann können Sie diese Funktion verwenden, um auf ein Element zu klicken:
page.evaluate(function() { click(document.getElementById('idButtonSpan')); });
Das obige ist der detaillierte Inhalt vonWie simuliere ich einen Klick in PhantomJS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!