我正在尝试使用 puppeteer 获取单页面Web应用程序(AngularJS)的完整HTML页面内容。但我只得到页眉和页脚的HTML内容。此代码在我的本地计算机上正常运行,但无法在 AMI服务器上运行。
//function for timeout
async function timeout(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
// function to crawl a html page using a url
async function crawler(url) {
const browser = await puppeteer.launch({
headless: true,
args: ['--no-sandbox', '--disable-setuid-sandbox']
});
const page = await browser.newPage();
await page.goto(url); //fetch url
await timeout(5000); // wait for 5 second to load full page
const html = await page.evaluate(() => document.documentElement.outerHTML);
await browser.close();
return html;
}
还尝试waitFor
和networkidle2
但未在结果中获得正确的HTML。