我正在使用Puppeteer渲染我的React网站的每个页面。这种方法在大多数情况下都可以正常运行,并且会随机崩溃。崩溃的页面每次都不相同。我已经在最大化窗口模式下启动了浏览器,以查看发生了什么并且一切都按预期运行,但是它一直崩溃。当它崩溃时,puppeteer在我的waitForSelector语句上引发导航超时错误。但是我可以在最大化实例中看到所需的选择器存在。我用这样的东西:
const storeHTMLToFile = require('./storeHTMLToFile');
const getPageContent = async (url) => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto(url, { waitUntil: 'networkidle0' });
await page.waitForSelector('div#content');
await storeHTMLToFile(await page.content());
await browser.close();
};
const startRendering = async (urls) => Promise.all(
urls.map(url => getPageContent(url)),
);