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

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

Linda Hamilton
リリース: 2024-12-16 08:30:15
オリジナル
880 人が閲覧しました

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

Puppeteer の評価関数に変数を渡す方法

Puppeteer を使用してページを評価する場合、多くの場合、ページ内で使用するために変数を評価関数に渡す必要があります。ページのコンテキスト。これを実現するには、変数を page.evaluate() 関数に渡す正しい方法を理解することが重要です。

提供された Puppeteer スクリプトでは、変数 evalVar を評価関数リンクに渡そうとすると失敗し、その結果、関数内でアクセスすると変数が未定義になります。これは、変数を関数に直接渡すことができないために発生します。

解決策は、変数を引数として評価関数に渡すことです。以下の変更をリンク関数に追加すると、変数 evalVar が渡され、関数内でアクセスできるようになります。

const links = await page.evaluate((evalVar) => {
  console.log('evalVar:', evalVar); // 2. should be defined now
  ...
}, evalVar); // 1. pass variable as an argument
ログイン後にコピー

page.evaluate() を呼び出すときに追加の引数を含めることで、複数の変数を渡すことができることに注意してください。すべての引数が JSON としてシリアル化可能であるか、ブラウザ内オブジェクトの JSHandle であることを確認することが重要です。これらのガイドラインに従うことで、Puppeteer の評価関数に変数を正常に渡し、ページのコンテキスト内で変数にアクセスできます。

以上がPuppeteer の `page.evaluate()` 関数に変数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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