PhantomJSonLoadFinished 回呼過早觸發
現在許多網站採用非同步載入技術,導致 PhantomJS 過早觸發其 onLoadFinish。這可能會導致螢幕截圖不完整,缺少廣告等動態內容。
要解決此問題,請考慮以下方法:
範例程式碼:
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 } });
透過合併此延遲,PhantomJS 將等待頁面在捕獲螢幕截圖之前完全加載,確保包含所有動態內容。
以上是如何修復 PhantomJS 過早的 onLoadFinished 回調以獲得準確的螢幕截圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!