cari

Rumah  >  Soal Jawab  >  teks badan

Akses pembolehubah tetingkap javascript dalam Puppeteer

<p>Dalam skrip Puppeteer saya, saya menggunakan fail JS untuk melaksanakan sebelum memuatkan halaman: </p> <pre class="brush:js;toolbar:false;">const preloadFile = fs.readFileSync('./file.js', 'utf8'); const id = tunggu page.evaluateOnNewDocument(preloadFile); </pra> <p>file.js mengandungi: </p> <pre class="brush:js;toolbar:false;">const i = setInterval(()=>{ if (window.turnstile) { clearInterval(i) window.turnstile.render = (a,b) => b.userAgent = navigator.userAgent window.tsCallback = b.panggilan balik tingkap.tindakan = b.tindakan window.data = b.cData console.log(b) kembalikan 'foo' } } },50) </pra> <p>Skrip ini mencetak objek (Tindakan, Cdata, Panggilan Balik...) pada konsol penyemak imbas</p> <p>Saya mahu mendapatkan objek ini dari sisi boneka dan boleh memanggil panggilan balik fungsi(). </p> <p>Saya menggunakan page.evaluate() tetapi ia tidak berkesan untuk saya</p>
P粉787806024P粉787806024454 hari yang lalu594

membalas semua(1)saya akan balas

  • P粉193307465

    P粉1933074652023-09-05 12:27:00

    Anda boleh menggunakan perpustakaan pembalut Puppeteer saya https://github.com/wix-incubator/bubanai/pulls untuk mencapai ini (dapatkan objek dari konsol pelayar), gunakan kaedah new ConsoleDriver(context).getMessages() dan kemudian tarik objek yang diterima Tukar dari tatasusunan kepada JSON...< /p>

    Atau hanya salin kod ConsoleDriver ke dalam projek anda.

    Rujukan

    Contoh penggunaan

    balas
    0
  • Batalbalas