Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menghantar Pembolehubah ke Fungsi `page.evaluate()` Puppeteer?

Bagaimana untuk Menghantar Pembolehubah ke Fungsi `page.evaluate()` Puppeteer?

Linda Hamilton
Lepaskan: 2024-12-16 08:30:15
asal
879 orang telah melayarinya

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

Cara Mengubah Pembolehubah ke dalam Fungsi Menilai dalam Puppeteer

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

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!

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