0
嗨,我試圖讓一個屏幕截圖服務使用相同的瀏覽器實例?
const puppeteer = require('puppeteer');
var resWidth = 1366;
var resHeight = 1000;
var browser;
(async() => {
browser = await puppeteer.launch({ignoreHTTPSErrors: true});
});
,當我收到一個工作,我嘗試做
data.forEach(function(d){
try {
console.log(d["url"]);
(async() => {
var page = await browser.newPage();
await page.setViewport({width: resWidth, height: resHeight});
await page.goto(d["url"], {timeout: 90000, waitUntil: 'networkidle'});
await page.screenshot({path: './picdata/' + d['id'] + '.png' ,fullPage: true});
await page.close();
})();
} catch(e) {}
});
,但我不能......這裏是錯誤:
(node:40596) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 7): TypeError: Cannot read property 'newPage' of undefined
我不想爲每個屏幕截圖打開一個新的瀏覽器啓動瀏覽器需要時間並需要更多內存?
我該怎麼辦?
我解決了 變種瀏覽器= NULL; puppeteer.launch()。then(tempBrowser => browser = tempBrowser); –