ホームページ > ウェブフロントエンド > jsチュートリアル > Puppeteer の `page.evaluate()` 関数に変数を渡すにはどうすればよいですか?

Puppeteer の `page.evaluate()` 関数に変数を渡すにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-10 17:42:11
オリジナル
178 人が閲覧しました

How Can I Pass Variables to Puppeteer's `page.evaluate()` Function?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート