2017-09-08 71 views
0

爲什麼在函數中使用頁面實例(與新頁面不在同一範圍內)時會失敗?感謝幫助和解釋。未能在使用木偶的函數中使用頁面實例

'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

你不等待func1,前page.goto結束這樣browser.close運行。 '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'}); 
}