无法在使用puppeteer的函数中使用页面实例

时间:2017-09-08 03:53:47

标签: puppeteer

为什么在函数中使用页面实例(与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!
}

1 个答案:

答案 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'});
}