Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Membetulkan Pemulangan Objek Kosong dalam `page.evaluate` Puppeteer dengan `querySelectorAll`?
Menyelesaikan Pemulangan Objek Kosong dalam halaman Puppeteer.evaluate querySelectorAll
Dalam Puppeteer, cuba untuk mendapatkan semula elemen dokumen menggunakan kaedah querySelectorAll melalui kaedah penilaian selalunya membawa kepada susunan objek kosong. Ini ialah isu biasa yang dihadapi semasa bekerja dengan Puppeteer.
Untuk menyelesaikan masalah ini, adalah penting untuk ambil perhatian bahawa nilai yang dikembalikan daripada fungsi penilaian mestilah boleh bersiri JSON. Apabila menilai elemen kompleks seperti elemen 'tajuk' dalam contoh yang disediakan, objek yang terhasil mengandungi nilai tidak boleh bersiri, seperti fungsi.
Penyelesaian terletak pada mengekstrak maklumat yang dikehendaki daripada elemen sebelum mengembalikan JSON- nilai boleh bersiri. Dalam kes ini, kami menyasarkan untuk mengekstrak nilai href daripada elemen dan bukannya keseluruhan objek elemen.
Dengan mengubah suai fungsi penilaian seperti yang dilihat di bawah, anda boleh berjaya mendapatkan semula senarai nilai href:
await this.page.evaluate((sel) => { let elements = Array.from(document.querySelectorAll(sel)); let links = elements.map(element => { return element.href }) return links; }, sel);
Ini memastikan bahawa nilai yang dikembalikan boleh bersiri JSON dan menyelesaikan isu objek kosong dalam tatasusunan hasil.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Pemulangan Objek Kosong dalam `page.evaluate` Puppeteer dengan `querySelectorAll`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!