Pembolehubah dalam Fungsi page.evaluate()
Fungsi Puppeteer's page.evaluate() ialah alat serba boleh untuk melaksanakan JavaScript dalam pelaksanaan halaman konteks. Walau bagaimanapun, menghantar pembolehubah ke dalam fungsi ini boleh menjadi rumit.
Pembolehubah Tidak Ditakrifkan
Apabila anda cuba mengakses pembolehubah dalam fungsi page.evaluate(), anda mungkin menghadapi ralat "evalVar: undefined". Ini kerana pembolehubah yang ditakrifkan di luar fungsi tidak boleh diakses di dalamnya.
Melalui Pembolehubah melalui Argumen
Untuk menyelesaikan isu ini, hantar pembolehubah sebagai hujah ke halaman fungsi seperti ini:
const links = await page.evaluate((evalVar) => { console.log(evalVar); // 2. Should be defined now ... }, evalVar); // 1. Pass the variable as an argument
Berbilang Pembolehubah
Anda juga boleh menghantar berbilang pembolehubah dengan menambahkan lebih banyak argumen pada page.evaluate():
await page.evaluate((a, b, c) => { console.log(a, b, c) }, a, b, c)
Parameter Boleh Bersiri
Argumen yang anda berikan mestilah sama ada boleh bersiri kepada JSON atau menjadi JSHandles objek dalam penyemak imbas. Untuk butiran, rujuk dokumentasi rasmi Puppeteer: https://pptr.dev/#?show=api-pageevaluatepagefunction-args.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghantar Pembolehubah ke Fungsi `page.evaluate()` Puppeteer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!