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

Wie simuliere ich Klickereignisse in PhantomJS richtig?

DDD
DDDOriginal
2024-12-09 12:45:14387Durchsuche

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);
}

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!

Stellungnahme:
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