2017-10-09 82 views
0

我希望我的结果是一个函数,它在浏览器上下文中运行,就像函数一样。所以我可以要求它获取不同的资源。但是这个p参数不起作用。为什么,以及如何解决它?如何将参数传递给页面评估?

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() 
})() 

回答

1

您将参数传递给evaluate方法是这样的:

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

你可以阅读更多的参数在docs here的方法。