为什么在函数中使用页面实例(与newPage不在同一范围内)时会失败?感谢帮助和解释。
'use strict'; // see strict mode
var url ='http://example.com';
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
func1(page);
browser.close();
})();
async func1(page) {
console.log(page); // output ok
await page.goto(url, {waitUntil: 'network idle'}); // failed!
}
答案 0 :(得分:1)
您不等待func1
,因此browser.close
会在page.goto
完成之前运行。 'network idle'
也应该是'networkidle'
,没有空格。
'use strict'; // see strict mode
const url = 'http://example.com';
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await func1(page);
browser.close();
})();
async function func1(page) {
console.log(page);
await page.goto(url, {waitUntil: 'networkidle'});
}