Pour cliquer sur un élément dans PhantomJS, la méthode standard .click() n'est pas prise en charge. Au lieu de cela, un événement doit être créé et distribué.
Considérez le code suivant :
page.evaluate(function() { document.getElementById('idButtonSpan').click(); });
Ce code entraînera une erreur car .click() n'est pas une fonction. Pour résoudre ce problème, créez un événement et envoyez-le :
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); }
Ensuite, vous pouvez utiliser cette fonction pour cliquer sur un élément :
page.evaluate(function() { click(document.getElementById('idButtonSpan')); });
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!