2017-10-09 2 views
0

Je veux que mon résultat soit une fonction qui s'exécute dans le contexte du navigateur pour se comporter comme une fonction. Je peux donc lui demander d'aller chercher des ressources différentes. Cependant cet argument p ne fonctionne pas. Pourquoi, et comment le réparer?Comment passer des arguments à un page.evaluate?

const puppeteer = require('puppeteer'); 

(async() => { 
    const browser = await puppeteer.launch({args: ['--no-sandbox'], headless: false}) 
    const page = await browser.newPage() 
    await page.goto('https://hendry.iki.fi') 

    const p = '/about' 

    const result = await page.evaluate((p) => { 
    return fetch(p) 
    .then((response) => { 
     if (response.ok) { 
     return response.text() 
     } 
    }) 
    }) 

    console.log(result) 

    await browser.close() 
})() 

Répondre

1

Vous passez des arguments à la méthode evaluate comme ceci:

page.evaluate((a, b) => { 
    // you can use `a` and `b` here 
}, a, b); 

Vous pouvez en savoir plus sur les arguments de la méthode dans le docs here.