慕哥6287543
2022-07-21 22:18:56
我在讓我的 Raspberry Pi Zero 運行時遇到了一些問題,puppeteer就像我在本教程中看到的那樣。到目前為止,我已經做了類似的事情:$ sudo apt-get install chromium-browser chromium-codecs-ffmpeg --yes$ npm init -Y$ npm install [email protected]此外,嘗試不將核心版本鎖定到 1.11.0 - 結果相同。這是我的index.js:const puppeteer = require('puppeteer-core');(async () => { try { const browser = await puppeteer.launch({ executablePath: 'chromium-browser', headless: true, product: 'chrome' }); const page = await browser.newPage(); page.setDefaultNavigationTimeout(25 * 1000); await page.goto('https://www.google.com/'); await page.screenshot({ path: 'screenshot.png' }); await browser.close(); console.log('screenshot taken'); } catch (e) { console.log(e.message); }})();而且,當我像這樣運行它時,我得到超時錯誤:$ node index.jsNavigation Timeout Exceeded: 25000ms exceeded但是,它只是掛起。沒有出口!任何幫助將不勝感激,謝謝。
1 回答

慕碼人8056858
TA貢獻1803條經驗 獲得超6個贊
以下是一些可能對您有幫助的建議:
您需要確保您的 RPi 上有互聯網連接,可以在 25 秒超時限制內為您服務,即page.setDefaultNavigationTimeout(25 * 1000);
. 您可以使用ping
命令來觀察延遲,即ping google.com
。
我相信您有一個 RPi Zero 型號,具有 1GHz 單核處理器和 512 MB RAM,如此處所述。因此,硬件和操作系統也將成為此處的影響因素,例如打開無頭瀏覽器、拍攝快照、將其存儲到文件中;所有這些操作都需要時間。您可以單獨為這些操作計時,以便在粒度級別上更好地了解所花費的總時間。
我已經在一臺機器(Core i5 - 8 核,8 GB RAM 和 Ubuntu 18.04 LTS)上對其進行了測試,大約需要 4 秒。在那個視頻教程中,花了大約 9 秒。
因此,一個簡單的解決方案是使用更長的超時值。
您可以做的另一件事是在本地 Apache 服務器上托管一個簡單的靜態網頁,并使用其地址(例如http://localhost:8080/index.html)在沒有互聯網的情況下在本地測試它。在這種情況下,延遲會大大減少,您可以驗證它是否適用于您的 RPi 零。在這種情況下,您可能也需要調整超時。您也可以使用 Python 的SimpleHTTPServer來代替 Apache 服務器。
添加回答
舉報
0/150
提交
取消