puppeteer運行出現:
Could not find browser revision 809590. Run "PUPPETEER_PRODUCT=firefox npm install" or "PUPPETEER_PRODUCT=firefox yarn install"報錯,顯然時沒找到對應版本的瀏覽器。
GitHub上issues上提供解決方案試了一圈度沒用。後來在官方api文檔裏發現了puppeteer.createBrowserFetcher:
createBrowserFetcher是一個官方的瀏覽器版本管理工具,只需用指定版本就能對應下載,回調返回安裝的路徑。
實例:
const puppeteer = require("puppeteer");
const browserFetcher = puppeteer.createBrowserFetcher();
browserFetcher.download("809590").then((res) => {
puppeteer
.launch({
executablePath: res.executablePath, //chrome執行路徑
headless: false, //瀏覽器無頭模式
})
.then(async (browser) => {
// 保存 Endpoint,這樣就可以重新連接 Chromium
const browserWSEndpoint = browser.wsEndpoint();
// 從Chromium 斷開連接
browser.disconnect();
// 使用endpoint 重新和 Chromiunm 建立連接
const browser2 = await puppeteer.connect({ browserWSEndpoint });
// Close Chromium
// await browser2.close();
});
});