Puppeteer 評估QuerySelectorAll 傳回空白物件
當使用Puppeteer 的page.evaluate 函式透過查詢以下問題:傳回的陣列包含空物件。發生這種情況是因為 JavaScript 物件本質上不是 JSON 可序列化的。
一種潛在的解決方案是從元素中提取特定數據,確保它可以序列化為 JSON。例如,如果您對元素的href 屬性感興趣,可以如下修改程式碼:
const list = await page.evaluate((sel) => { let elements = Array.from(document.querySelectorAll(sel)); let links = elements.map(element => element.href); return links; }, sel);
此程式碼將傳回表示所選元素的href 屬性的字串數組,該數組可以輕鬆序列化和列印。
以上是為什麼 Puppeteer 的 `page.evaluate` 使用 `querySelectorAll` 回傳空物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!