使用Puppeteer 評估頁面時,通常需要將變數傳遞到評估函數中以在頁面中使用頁面的上下文。為此,必須了解將變數傳遞到 page.evaluate() 函數的正確方法。
在提供的 Puppeteer 腳本中,嘗試將變數 evalVar 傳遞到評估函數連結不成功,導致在函數內存取時變數未定義。出現這種情況是因為變數無法直接傳遞到函數中。
解是將變數作為參數傳遞給求值函數。透過在 links 函數中新增以下更改,變數 evalVar 將在函數內傳遞和存取:
const links = await page.evaluate((evalVar) => { console.log('evalVar:', evalVar); // 2. should be defined now ... }, evalVar); // 1. pass variable as an argument
請注意,在呼叫 page.evaluate() 時可以透過包含其他參數來傳遞多個變數。確保所有參數都可序列化為 JSON 或瀏覽器內物件的 JSHandle 非常重要。透過遵循這些準則,您可以成功地將變數傳遞到 Puppeteer 中的評估函數並在頁面上下文中存取它們。
以上是如何將變數傳遞給 Puppeteer 的 `page.evaluate()` 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!