2017-09-08 1 views
0

Pourquoi est-ce qu'il échoue lors de l'utilisation de l'instance de page (pas dans la même portée que la nouvelle page) dans une fonction? Appréciez l'aide et l'explication.Echec de l'utilisation de l'instance de page dans une fonction utilisant marionnettiste

'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! 
} 

Répondre

1

Vous n'attendez func1, donc browser.close exécute avant page.goto finitions. 'network idle' devrait également être 'networkidle' sans espace.

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