Har*_*mer 4 javascript timeout google-chrome-headless puppeteer
我的 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};
},
Run Code Online (Sandbox Code Playgroud)
小智 5
setUpPuppeteer: async () => {
const headless = process.env.NODE_ENV === "production";
const browser = await pupeteer.launch({
headless: true,
devtools: true,
args: [
'--ignore-certificate-errors',
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-accelerated-2d-canvas',
'--disable-gpu'
]
});
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};
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2974 次 |
| 最近记录: |