recherche

Maison  >  Questions et réponses  >  le corps du texte

Accéder aux variables de la fenêtre javascript dans Puppeteer

<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粉787806024P粉787806024495 Il y a quelques jours620

répondre à tous(1)je répondrai

  • P粉193307465

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

    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...< /p>

    Ou copiez simplement le code ConsoleDriver dans votre projet.

    Référence

    Exemple d'utilisation

    répondre
    0
  • Annulerrépondre