page.evaluate() 関数の変数
Puppeteer の page.evaluate() 関数は、ページの実行内で JavaScript を実行するための多用途ツールです。コンテクスト。ただし、この関数に変数を渡すのは難しい場合があります。
未定義の変数
page.evaluate() 関数内の変数にアクセスしようとすると、次のような問題が発生する可能性があります。エラー「evalVar: 未定義」。これは、関数の外で定義された変数には関数内ではアクセスできないためです。
引数を介した変数の受け渡し
この問題を解決するには、変数を引数としてページに渡します。次のような関数:
const links = await page.evaluate((evalVar) => { console.log(evalVar); // 2. Should be defined now ... }, evalVar); // 1. Pass the variable as an argument
複数変数
page.evaluate() にさらに引数を追加することで、複数の変数を渡すこともできます:
await page.evaluate((a, b, c) => { console.log(a, b, c) }, a, b, c)
シリアル化可能なパラメーター
渡す引数は、JSON にシリアル化できるか、ブラウザ内の JSHandles でなければなりませんオブジェクト。詳細については、Puppeteer の公式ドキュメントを参照してください: https://pptr.dev/#?show=api-pageevaluatepagefunction-args.
以上がPuppeteer の `page.evaluate()` 関数に変数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。