🍆

PlaywrightでCookieに任意の値を適用する

2022/12/18に公開

PlaywrightではCookieに任意の値を指定してブラウザを立ち上げることができます。

Playwrightの基本的な機能ですが、日本語の記事がなかったので投稿しておきます。

Cookie を適用するには。

Cookieを適用するには下記4つの情報が必要です。

  • Cookieのキー名(name)
  • Cookieの値(value)
  • 対象サイトのドメイン(domain)
  • 対象サイトのパス(path)

これらを指定するだけで適用できます。

const context = await browser.newContext();
context.addCookies([
  {
    name: "JSHOGE", // Cookieのキー名
    value: "hogehoge", // Cookieのキーに格納する値
    domain: "example.com", // 対象サイトのドメイン
    path: "/sample/" // 対象ドメインの中のどのページに適用するか
  }
])

上記の例は example.com/sample/ というサイトURLに対して、JSHOGEというキーに hogehoge を格納した状態のCookieを適用する例です。

一見必要なさそうな「path」も記述しないと動かないので注意です!

特定のサイトのCookie情報を調べるには。

Webサイトをスクレイピングする際に Cookie 情報を手動で調べるシーンが出てくるかと思います。その際は次の方法で調べることができます。

Google Chromeの開発者ツールにある「Application」タブを開きます。
左メニューにある Cookoie 欄をクリックして、欲しいデータを取得してください。

各種項目を addCookies の値に当てはめると、

Name は name
Value は value
Domain は domain
Path は path

そのまんまですね!

そのサイトに絡んでるCookieを見つけるコツとしては Domain の欄をよく見ることですね!Cookieは大量に表示されることが多いので、これを知ってるだけでもクリティカルな絞り込みがしやすくなるかと思います。

スクレイピングするサイトによってはCookieを適用するだけで突破できるものも多くあるので、突破に悩んだらまずCookieを疑ってみましょう。とても簡単なので活用してみてください。

Discussion