hyme

[Playwright] Playwright でタブを使う

Playwright でつまったことがあったというスクラップ。

ログインセッションを流用して並列で処理を実行したいとなったときに、 Browser#newPage ではログインセッションが共有できなかったので詰まってしまった。

調べてみると、 Playwright には BrowserContext というのがあり、 Browser#newPage ではなく BrowserContext#newPage を実行すればOKだった。

GUI 表示のときには別タブで表示されるようになる。

BrowserContextBrowser#newContext から生成可能。

import { chromium } from 'playwright'

const browser = await chromium.launch({
  headless: false,
})
const context = await browser.newContext()

const page1 = await context.newPage()
const page2 = await context.newPage()

// ...

BrowserContext#newPage のほうには Browser#newPage のように引数はなく、代わりに Browser#newContext である程度設定することができる。