Le rappel PhantomJSonLoadFinished se déclenche prématurément
De nombreux sites Web utilisent désormais des techniques de chargement asynchrones, ce qui amène PhantomJS à déclencher prématurément son rappel onLoadFinished. Cela peut conduire à des captures d'écran incomplètes dépourvues de contenu dynamique comme des publicités.
Pour résoudre ce problème, envisagez l'approche suivante :
Exemple de code :
page.open(address, function (status) { if (status !== 'success') { console.log('Unable to load the address!'); phantom.exit(); } else { window.setTimeout(function () { page.render(output); phantom.exit(); }, 1000); // Adjust timeout as necessary to accommodate loading time } });
En incorporant ce délai, PhantomJS attendra la page pour charger complètement avant de capturer la capture d'écran, en vous assurant que tout le contenu dynamique est inclus.
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!