我正在使用:
Puppeteer version: 1.13.0
Platform / OS version: Google Cloud
Node.js version: 8
当我将其部署到Google Cloud功能上时, await.page.goto("https://somewebsite.com")
会冻结。
我收到超时错误。
Navigation Timeout Exceeded
const browser = await puppeteer.launch({
headless: true,
ignoreHTTPSErrors: true,
args: [
'--disable-gpu',
'--disable-dev-shm-usage',
'--disable-setuid-sandbox',
'--no-first-run',
'--no-sandbox',
'--no-zygote',
'--single-process', // <- this one doesn't works in Windows
]
});
const page = await browser.newPage();
try {
await page.goto('https://somewebsite.com',
{ waitUntil: 'networkidle2' });
} catch (error) {
console.log('page.goto ERROR: ', error);
}
我可以看到它在不同的环境中工作:
它适用于除 Google云功能以外的所有功能。但是,如果我尝试google.com
可以。
问题在于该错误根本没有帮助,page.goto
只是超时。
我想知道是否有适当的方法来调试它?
可能是操作系统问题吗? 但是话又说回来,AWS和Google云都基于Linux?
答案 0 :(得分:1)
显然,Puppeteer 1.13.0版中的计时存在问题。尝试降级到1.11.0,它应该可以正常工作。
在this Stackoverflow question中回答了类似的问题。它指向this discussion。