javascript - Puppeteer: Cara yang lebih mudah untuk mengendalikan halaman yang dibuat dengan mengklik a[target="_blank"]; tunggu sehingga dimuat dan termasuk waktu tamat

Gambaran Keseluruhan

Saya sedang mencari cara yang lebih mudah untuk mengendalikan klik pada pautan yang membuka halaman baru (seperti tag jangkar target="_blank").

Di sini handle bermaksud:

javascript - bagaimana untuk melancarkan puppeteer dengan profil yang sudah wujud berkali-kali

jadi saya sedang mencuba untuk melancarkan puppeteer dengan profil chrome yang sudah wujud dan ia berfungsi, tetapi apa yang saya ingin lakukan ialah melancarkan proses yang sama beberapa kali yang menyebabkan ralat

(node:12820) AmaranUnhandledPromiseReje

Baca lagi →

javascript - Puppeteer - "Meminta bingkai utama terlalu awal!"

Saya telah membuat satu fungsi menggunakan Puppeteer yang memeriksa sama ada pengguna telah log masuk. Pada asasnya, pada awalnya ia memeriksa sama ada pelayar, halaman terbuka dan kemudian mencari pemilih dan bergantung kepada sama ada item ditemui, ia mengembalikan benar/palsu.

export async function checkIfUserIsLoggedIn() { const logger = getLogger('checkIfUserIsLoggedIn()'); try { if (!page || !browser) { logger.info('page or browser is not open'); ret

Baca lagi →

javascript - Bagaimana untuk menggunakan Jest/Puppeteer untuk menunggu sehingga satu elemen telah dikeluarkan dari DOM

Ringkasan masalah: Saya sedang menulis beberapa suite ujian (menggunakan Jest dan Puppeteer) untuk mengautomasikan ujian halaman utama aplikasi AngularJS saya. Salah satu ujian yang ingin saya automasikan ialah pengguna menekan butang pad

Baca lagi →

javascript - senarai useragent pelayar Puppeteer

Saya ingin memuatkan senarai rawak user-agent dari laluan lokasi lalai saya, contohnya: 'agents.json' dan bukannya menambah satu user-agent secara langsung sahaja.

ejen.json

["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36", "Moz

Baca lagi →

javascript - Hantar Kelas sebagai Argumen ke page.evaluate dalam Puppeteer

Dalam Puppeteer, page.evaluate akan menghasilkan ralat jika saya melepaskan kelas sebagai argumen.

Ia berfungsi untuk objek biasa walaupun begitu.

Adakah terdapat jalan penyelesaian untuk menjadikannya berfungsi?

const puppeteer = require("puppete

Baca lagi →

node.js - Bagaimana menggunakan deklarasi typescript dengan puppeteer exposeFunction dan webpack

Saya menggunakan puppeteer dan webpack secara gabungan untuk satu projek. Saya menyusun fail-fail saya menjadi satu bundle, dan kemudian menggunakan kaedah addScriptTag pada puppeteer, menambahkan fail itu ke dalam pelayar. Selain itu, saya menggunakan fungsi e

Baca lagi →

javascript - puppeteer: bagaimana untuk mencegah permintaan blob?

Terdapat jawapan tentang cara menyelesaikan muat turun blob, pautannya seperti berikut. Bagaimana untuk menyekat muat turun blob yang dijana di pihak klien laman web melalui puppeteer?

Tetapi saya ingin menyekat permintaan tersebut yang pemulaannya adalah skrip dalam penyemak imbas. Nampaknya permintaan ini adalah jenis blob. Imej seperti berikut:

Baca lagi →

javascript - puppeteer: Bagaimana untuk mencegat permintaan ServiceWorker/WebWorker?

Terdapat beberapa penyelesaian lama untuk menyelesaikan soalan ini, salah satunya terdapat di github, satu lagi terdapat di stackoverflow.

puppeteer mempunyai sifat _client dalam versi lebih rendah. Penyelesaian dalam versi lebih rendah adalah seperti berikut:

Baca lagi →

Bagaimana untuk menyingkirkan ralat TypeScript dalam eval Puppeteer?

Saya mempunyai skrip puppeteer yang ringkas:

export async function inspectWebpage(source) { const b = await getBrowser() const p = await b.newPage() await p.goto(path) const script = fs.readFileSync( 'host/code/node/puppeteer/crawl.js', 'utf-8', ) await p.evaluate(script) let data = await p.evaluate(() => task.getWebpageData()) await b.close() return data }

Saya melihat ini setiap kali saya menggunakannya, dan ingin menyingkirkannya.

Baca lagi →