Accéder aux variables de la fenêtre javascript dans Puppeteer
P粉787806024
P粉787806024 2023-09-04 23:32:41
0
1
600
<p>Dans mon script Puppeteer, j'utilise le fichier JS à exécuter avant de charger la page : </p> <pre class="brush:js;toolbar:false;">const preloadFile = fs.readFileSync('./file.js', 'utf8'); const id = wait page.evaluateOnNewDocument(preloadFile); ≪/pré> <p>file.js contient : </p> <pre class="brush:js;toolbar:false;">const i = setInterval(()=>{ si (fenêtre.tourniquet) { clearInterval(i) window.turnstile.render = (a,b) => b.userAgent = navigateur.userAgent window.tsCallback = b.callback fenêtre.action = b.action window.data = b.cData console.log(b) renvoyer 'foo' } } },50) ≪/pré> <p>Ce script imprime un objet (Action, Cdata, Callback...) sur la console du navigateur</p> <p>Je souhaite récupérer cet objet du côté du marionnettiste et pouvoir appeler la fonction callback(). </p> <p>J'ai utilisé page.evaluate() mais cela n'a pas fonctionné pour moi</p>
P粉787806024
P粉787806024

répondre à tous(1)
P粉193307465

Vous pouvez utiliser ma bibliothèque de wrapper Puppeteer https://github.com/wix-incubator/bubanai/pulls pour y parvenir (récupérer l'objet depuis la console du navigateur), utiliser la méthode new ConsoleDriver(context).getMessages() puis extraire l'objet reçu Convertir de tableau en JSON...

Ou copiez simplement le code ConsoleDriver dans votre projet.

Référence

Exemple d'utilisation

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal