Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menghantar Pembolehubah ke Fungsi `page.evaluate()` Puppeteer?

Bagaimanakah Saya Boleh Menghantar Pembolehubah ke Fungsi `page.evaluate()` Puppeteer?

Patricia Arquette
Lepaskan: 2024-12-10 17:42:11
asal
177 orang telah melayarinya

How Can I Pass Variables to Puppeteer's `page.evaluate()` Function?

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
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan