窗口中没有问题。。但在生产服务器ubuntu中,我在goto函数后收到了这个错误
const browser = await puppeteer.launch({
headless: true,
args: ['--no-sandbox', '--disable-setuid-sandbox'],
});
const url: String = login.url;
const page: any = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36');
await page.goto(url, { waitUntil: 'networkidle2' });
await page.setViewport({
width: 1520,
height: 800,
deviceScaleFactor: 1,
isMobile: false
});
安装了chromium浏览器,安装了puppeteer和其他一些类似libgbm dev或的东西
有人告诉我出了什么问题吗?如果你需要更多信息,请评论。。。
在我的案例中,我运行的Ubuntu服务器内存为512MB,无法处理脚本的运行。我通过编写一个访问谷歌的简单scraper来解决这个问题,它运行得很好。然后,我运行了更密集的scraper,并通过htop
观察内存使用情况,但它们无法执行,并给了我一个超时错误。
我升级了服务器两个2gb的内存,一切都很好。你可能不需要一直升级到2gb,但我只是以防万一。
木偶师有时需要很多时间来回答。
在我的情况下:Puppeteer-19.4.1 Ubuntu-20.04.1 LTS(服务器(与1gb RAM,我只是解决了增加";page.goto";超时时间为2分钟。
await page.goto(url, {'timeout': 120000});