Heim > Web-Frontend > js-Tutorial > Wie simuliere ich Klickereignisse in PhantomJS richtig?

Wie simuliere ich Klickereignisse in PhantomJS richtig?

DDD
Freigeben: 2024-12-09 12:45:14
Original
425 Leute haben es durchsucht

How to Properly Simulate Click Events in PhantomJS?

Klicken auf Elemente mit PhantomJS

Beim Versuch, mit der page.evaluate-Funktion und document.getElementById('idButtonSpan').click(); auf ein Element in PhantomJS zu klicken; , kann die Fehlermeldung „undefiniert ist keine Funktion...“ auftreten, obwohl das Element vorhanden ist. Dies liegt daran, dass .click() keine Standardfunktion zum Klicken auf Elemente in PhantomJS ist.

Um ein Klickereignis in PhantomJS zu simulieren, müssen Sie ein benutzerdefiniertes Ereignis wie folgt erstellen und auslösen:

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);
}
Nach dem Login kopieren

Mit dieser Klickfunktion können Sie dann auf dem gewünschten Element ein Klickereignis simulieren.

Das obige ist der detaillierte Inhalt vonWie simuliere ich Klickereignisse in PhantomJS richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage