Greifen Sie in Puppeteer auf Javascript-Fenstervariablen zu
<p>In meinem Puppeteer-Skript verwende ich die Datei JS, um sie vor dem Laden der Seite auszuführen: </p>
<pre class="brush:js;toolbar:false;">const preloadFile = fs.readFileSync('./file.js', 'utf8');
const id = waiting page.evaluateOnNewDocument(preloadFile);
</pre>
<p>file.js enthält: </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.callback
window.action = b.action
window.data = b.cData
console.log(b)
gib 'foo' zurück
}
}
},50)
</pre>
<p>Dieses Skript druckt ein Objekt (Aktion, Cdata, Callback...) auf der Browserkonsole</p>
<p>Ich möchte dieses Objekt von der Puppenspielerseite erhalten und die Funktion callback() aufrufen können. </p>
<p>Ich habe page.evaluate() verwendet, aber es hat bei mir nicht funktioniert</p>