Apabila menggunakan Puppeteer untuk menilai halaman, selalunya perlu menghantar pembolehubah ke dalam fungsi penilaian untuk digunakan dalam konteks halaman. Untuk mencapai matlamat ini, adalah penting untuk memahami kaedah yang betul untuk menghantar pembolehubah ke dalam fungsi page.evaluate().
Dalam skrip Puppeteer yang disediakan, percubaan untuk menghantar pembolehubah evalVar ke dalam pautan fungsi penilaian tidak berjaya, mengakibatkan dalam pembolehubah yang tidak ditentukan apabila diakses dalam fungsi. Ini berlaku kerana pembolehubah tidak boleh dihantar terus ke dalam fungsi.
Penyelesaian terletak pada menghantar pembolehubah sebagai hujah kepada fungsi penilaian. Dengan menambahkan perubahan berikut pada fungsi pautan, pembolehubah evalVar akan diluluskan dan boleh diakses dalam fungsi:
const links = await page.evaluate((evalVar) => { console.log('evalVar:', evalVar); // 2. should be defined now ... }, evalVar); // 1. pass variable as an argument
Perhatikan bahawa berbilang pembolehubah boleh diluluskan dengan memasukkan argumen tambahan apabila memanggil page.evaluate(). Adalah penting untuk memastikan bahawa semua hujah boleh bersiri sebagai JSON atau JSHandles objek dalam penyemak imbas. Dengan mengikuti garis panduan ini, anda boleh berjaya menghantar pembolehubah ke dalam fungsi penilaian dalam Puppeteer dan mengaksesnya dalam konteks halaman.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Pembolehubah ke Fungsi `page.evaluate()` Puppeteer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!