2017-10-09 84 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的方法。