to solve this thats what i did :
await page.evaluate(() => {
return new Promise((resolve) => {
const checkTilesLoaded = () => {
const totalTiles = document.querySelectorAll('.leaflet-tile').length;
const loadedTiles = document.querySelectorAll('.leaflet-tile-loaded').length;
console.log(`Tiles loaded: ${loadedTiles}/${totalTiles}`);
if (loadedTiles === totalTiles) {
console.log('All tiles are fully loaded!');
resolve();
} else {
setTimeout(checkTilesLoaded, 500); // Retry every 500ms
}
};
checkTilesLoaded();
});
});`
await page.evaluate(() => {
const style = document.createElement('style');
style.innerHTML = `
@media print {
body {
width: 1900px;
height: 1200px;
}
}
`;