在 Puppeteer 中存取 javascript 視窗變數
<p>在我的 Puppeteer 腳本中,我使用檔案 JS 在載入頁面之前執行:</p>
<pre class="brush:js;toolbar:false;">const preloadFile = fs.readFileSync('./file.js', 'utf8');
const id = await page.evaluateOnNewDocument(preloadFile);
</pre>
<p>file.js 包含:</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)
return 'foo'
}
}
},50)
</pre>
<p>此腳本在瀏覽器控制台上列印一個物件(操作、Cdata、回呼...)</p>
<p>我想從pupetter端取得這個物件並且能夠呼叫函數callback()。 </p>
<p>我使用了 page.evaluate(),但對我不起作用</p>