我的 Puppeteer 脚本正在无头模式下运行,但出现了超时问题。
我不确定具体是什么问题。在本地运行脚本没有问题,但在无头模式下总是超时。
我在网上读到说可能是脚本加载外部 JavaScript 文件失败导致的?有其他人遇到过这个问题并能提供帮助吗?
这是我 Puppeteer 实例设置函数的内容:
setUpPuppeteer: async () => {
const headless = process.env.NODE_ENV === "production";
const browser = await pupeteer.launch({
headless,
devtools: true,
args: ['--no-sandbox' ]
});
const context = await browser.createIncognitoBrowserContext();
const page = await context.newPage(); // Create new instance of puppet
page.on('error', err => {
logger.error('Puppeteer error.', err);
});
page.setDefaultNavigationTimeout(10000);
if (process.env.NODE_ENV === 'production') {
await page.setRequestInterception(true); // Optimize (no stylesheets, images)...
page.on('request', request => {
if (['image', 'stylesheet'].includes(request.resourceType())) {
request.abort();
} else {
request.continue();
}
});
}
return {browser: context, page};
},