Puppeteer で JavaScript ウィンドウ変数にアクセスする
P粉787806024
P粉787806024 2023-09-04 23:32:41
0
1
598
<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) { クリア間隔(i) window.turnstile.render = (a,b) => { b.userAgent = navigator.userAgent window.tsCallback = b.callback window.action = b.action window.data = b.cData コンソールログ(b) 「ふー」を返す } } },50) </pre> <p>このスクリプトは、オブジェクト (Action、Cdata、Callback...) をブラウザのコンソールに出力します</p> <p>puppeter 側からこのオブジェクトを取得し、関数 callback() を呼び出せるようにしたいです。 </p> <p>page.evaluate() を使用しましたが、うまくいきませんでした</p>
P粉787806024
P粉787806024

全員に返信(1)
P粉193307465

この目標 (ブラウザ コンソールからオブジェクトを取得する) を達成するには、私の Puppeteer ラッパー ライブラリ https://github.com/wix-incubator/bubanai/pulls を使用できます。 new を使用します。 ConsoleDriver(context).getMessages() メソッドを実行し、受信したオブジェクトを配列から JSON... に変換します。

または、ConsoleDriver コードをプロジェクトにコピーするだけです。

######参照する### ###

使用例

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート