BrowserContext
BrowserContext は、複数の独立したブラウザセッションを操作する方法を提供します。
ページが別のページを(例えば `window.open` 呼び出しで)開いた場合、ポップアップは親ページのブラウザコンテキストに属します。
Playwright では、Browser.newContext() メソッドを使用して、分離された非永続的なブラウザコンテキストを作成できます。非永続的なブラウザコンテキストは、ブラウジングデータをディスクに書き込みません。
// Create a new incognito browser context
BrowserContext context = browser.newContext();
// Create a new page inside context.
Page page = context.newPage();
page.navigate("https://example.com");
// Dispose context once it is no longer needed.
context.close();
メソッド
addCookies
v1.9 より前に追加このブラウザコンテキストにクッキーを追加します。このコンテキスト内のすべてのページには、これらのクッキーがインストールされます。クッキーは BrowserContext.cookies() を介して取得できます。
使用例
browserContext.addCookies(Arrays.asList(cookieObject1, cookieObject2));
引数
cookies
List<Cookie
>#-
setName
String -
setValue
String -
setUrl
String (任意)url または domain / path のいずれかが必要です。(任意)
-
setDomain
String (任意)クッキーをすべてのサブドメインにも適用するには、ドメインの先頭にドットを付けます(例:".example.com")。url または domain / path のいずれかが必要です。(任意)
-
setPath
String (任意)url または domain / path のいずれかが必要です。(任意)
-
setExpires
double (任意)Unix 時間(秒)。(任意)
-
setHttpOnly
boolean (任意)(任意)
-
setSecure
boolean (任意)(任意)
-
setSameSite
enum SameSiteAttribute { STRICT, LAX, NONE }
(任意)(任意)
-
戻り値
addInitScript
v1.9 より前に追加次のいずれかのシナリオで評価されるスクリプトを追加します。
- ブラウザコンテキストでページが作成またはナビゲートされるたび。
- ブラウザコンテキスト内の任意のページで子フレームがアタッチまたはナビゲートされるたび。この場合、スクリプトは新しくアタッチされたフレームのコンテキストで評価されます。
スクリプトは、ドキュメントが作成された後、そのスクリプトが実行される前に評価されます。これは、JavaScript 環境を修正する(例えば、Math.random
をシードするなど)のに役立ちます。
使用例
ページ読み込み前に Math.random
をオーバーライドする例
// preload.js
Math.random = () => 42;
// In your playwright script, assuming the preload.js file is in same directory.
browserContext.addInitScript(Paths.get("preload.js"));
BrowserContext.addInitScript() および Page.addInitScript() を介してインストールされた複数のスクリプトの評価順序は定義されていません。
引数
戻り値
backgroundPages
v1.11 で追加バックグラウンドページは、Chromium ベースのブラウザでのみサポートされています。
コンテキスト内の既存のすべてのバックグラウンドページ。
使用例
BrowserContext.backgroundPages();
戻り値
browser
v1.9 より前に追加コンテキストのブラウザインスタンスを返します。永続コンテキストとして起動された場合は、null が返されます。
使用例
BrowserContext.browser();
戻り値
clearCookies
v1.9 より前に追加コンテキストからクッキーを削除します。オプションのフィルターを受け入れます。
使用例
context.clearCookies();
context.clearCookies(new BrowserContext.ClearCookiesOptions().setName("session-id"));
context.clearCookies(new BrowserContext.ClearCookiesOptions().setDomain("my-origin.com"));
context.clearCookies(new BrowserContext.ClearCookiesOptions().setPath("/api/v1"));
context.clearCookies(new BrowserContext.ClearCookiesOptions()
.setName("session-id")
.setDomain("my-origin.com"));
引数
options
BrowserContext.ClearCookiesOptions
(任意)
戻り値
clearPermissions
v1.9 より前に追加ブラウザコンテキストのすべての権限オーバーライドをクリアします。
使用例
BrowserContext context = browser.newContext();
context.grantPermissions(Arrays.asList("clipboard-read"));
// do stuff ..
context.clearPermissions();
戻り値
close
v1.9 より前に追加ブラウザコンテキストを閉じます。ブラウザコンテキストに属するすべてのページが閉じられます。
デフォルトのブラウザコンテキストは閉じることができません。
使用例
BrowserContext.close();
BrowserContext.close(options);
引数
options
BrowserContext.CloseOptions
(任意)
戻り値
cookies
v1.9 より前に追加URL が指定されていない場合、このメソッドはすべてのクッキーを返します。URL が指定されている場合、それらの URL に影響を与えるクッキーのみが返されます。
使用例
BrowserContext.cookies();
BrowserContext.cookies(urls);
引数
戻り値
exposeBinding
v1.9 より前に追加このメソッドは、コンテキスト内のすべてのページのすべてのフレームの window
オブジェクトに name という名前の関数を追加します。呼び出されると、この関数は callback を実行し、callback の戻り値に解決される Promise を返します。callback が Promise を返す場合、それは await されます。
callback 関数の最初の引数には、呼び出し元に関する情報 { browserContext: BrowserContext, page: Page, frame: Frame }
が含まれています。
ページ専用バージョンについては、Page.exposeBinding() を参照してください。
使用例
コンテキスト内のすべてのページのすべてのフレームにページ URL を公開する例
import com.microsoft.playwright.*;
public class Example {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
BrowserType webkit = playwright.webkit();
Browser browser = webkit.launch(new BrowserType.LaunchOptions().setHeadless(false));
BrowserContext context = browser.newContext();
context.exposeBinding("pageURL", (source, args) -> source.page().url());
Page page = context.newPage();
page.setContent("<script>\n" +
" async function onClick() {\n" +
" document.querySelector('div').textContent = await window.pageURL();\n" +
" }\n" +
"</script>\n" +
"<button onclick=\"onClick()\">Click me</button>\n" +
"<div></div>");
page.getByRole(AriaRole.BUTTON).click();
}
}
}
引数
-
window オブジェクト上の関数の名前。
-
callback
BindingCallback
#Playwright のコンテキストで呼び出されるコールバック関数。
-
options
BrowserContext.ExposeBindingOptions
(任意)
戻り値
exposeFunction
v1.9 より前に追加このメソッドは、コンテキスト内のすべてのページのすべてのフレームの window
オブジェクトに name という名前の関数を追加します。呼び出されると、この関数は callback を実行し、callback の戻り値に解決される Promise を返します。
callback が Promise を返す場合、それは await されます。
ページ専用バージョンについては、Page.exposeFunction() を参照してください。
使用例
コンテキスト内のすべてのページに sha256
関数を追加する例
import com.microsoft.playwright.*;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
public class Example {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
BrowserType webkit = playwright.webkit();
Browser browser = webkit.launch(new BrowserType.LaunchOptions().setHeadless(false));
BrowserContext context = browser.newContext();
context.exposeFunction("sha256", args -> {
String text = (String) args[0];
MessageDigest crypto;
try {
crypto = MessageDigest.getInstance("SHA-256");
} catch (NoSuchAlgorithmException e) {
return null;
}
byte[] token = crypto.digest(text.getBytes(StandardCharsets.UTF_8));
return Base64.getEncoder().encodeToString(token);
});
Page page = context.newPage();
page.setContent("<script>\n" +
" async function onClick() {\n" +
" document.querySelector('div').textContent = await window.sha256('PLAYWRIGHT');\n" +
" }\n" +
"</script>\n" +
"<button onclick=\"onClick()\">Click me</button>\n" +
"<div></div>\n");
page.getByRole(AriaRole.BUTTON).click();
}
}
}
引数
戻り値
grantPermissions
v1.9 より前に追加指定された権限をブラウザコンテキストに付与します。指定されたオリジンにのみ、対応する権限を付与します。
使用例
BrowserContext.grantPermissions(permissions);
BrowserContext.grantPermissions(permissions, options);
引数
-
付与する権限のリスト。
危険サポートされている権限は、ブラウザ間、さらには同じブラウザの異なるバージョン間でも異なります。権限は、アップデート後に機能しなくなる可能性があります。
一部のブラウザでサポートされている可能性のある権限を以下に示します。
'accelerometer'
'ambient-light-sensor'
'background-sync'
'camera'
'clipboard-read'
'clipboard-write'
'geolocation'
'gyroscope'
'magnetometer'
'microphone'
'midi-sysex'
(system-exclusive midi)'midi'
'notifications'
'payment-handler'
'storage-access'
-
options
BrowserContext.GrantPermissionsOptions
(任意)-
権限を付与する オリジン(例:"https://example.com")。
-
戻り値
newCDPSession
v1.11 で追加CDP セッションは、Chromium ベースのブラウザでのみサポートされています。
新しく作成されたセッションを返します。
使用例
BrowserContext.newCDPSession(page);
引数
戻り値
newPage
v1.9 より前に追加ブラウザコンテキストに新しいページを作成します。
使用例
BrowserContext.newPage();
戻り値
pages
v1.9 より前に追加コンテキスト内のすべての開いているページを返します。
使用例
BrowserContext.pages();
戻り値
route
v1.9 より前に追加ルーティングは、ブラウザコンテキスト内の任意のページによって行われるネットワークリクエストを変更する機能を提供します。ルートが有効になると、url パターンに一致するすべてのリクエストは、続行、フルフィル、または中止されない限り、停止します。
BrowserContext.route() は、Service Worker によってインターセプトされたリクエストをインターセプトしません。こちらの issue を参照してください。リクエストインターセプトを使用する場合は、setServiceWorkers を 'block'
に設定して Service Worker を無効にすることをお勧めします。
使用例
すべての画像リクエストを中止するナイーブなハンドラーの例
BrowserContext context = browser.newContext();
context.route("**/*.{png,jpg,jpeg}", route -> route.abort());
Page page = context.newPage();
page.navigate("https://example.com");
browser.close();
または代わりに正規表現パターンを使用した同じスニペット
BrowserContext context = browser.newContext();
context.route(Pattern.compile("(\\.png$)|(\\.jpg$)"), route -> route.abort());
Page page = context.newPage();
page.navigate("https://example.com");
browser.close();
リクエストを調べてルートアクションを決定することができます。例えば、いくつかのポストデータを含むすべてのリクエストをモックし、他のすべてのリクエストをそのままにすることができます。
context.route("/api/**", route -> {
if (route.request().postData().contains("my-string"))
route.fulfill(new Route.FulfillOptions().setBody("mocked-data"));
else
route.resume();
});
ページルート(Page.route() で設定)は、リクエストが両方のハンドラーに一致する場合、ブラウザコンテキストルートよりも優先されます。
ハンドラー付きのルートを削除するには、BrowserContext.unroute() を使用できます。
ルーティングを有効にすると、http キャッシュが無効になります。
引数
-
url
String | Pattern | Predicate<String>#ルーティング中に一致させる glob パターン、正規表現パターン、または [URL] を受信する述語。setBaseURL がコンテキストオプションを介して提供され、渡された URL がパスの場合、
new URL()
コンストラクタを介してマージされます。 -
リクエストをルーティングするハンドラー関数。
-
options
BrowserContext.RouteOptions
(任意)
戻り値
routeFromHAR
v1.23 で追加指定した場合、コンテキストで行われるネットワークリクエストは HAR ファイルから提供されます。HAR からのリプレイ について詳しくはこちらをご覧ください。
Playwright は、Service Worker によってインターセプトされたリクエストを HAR ファイルから提供しません。こちらの issue を参照してください。リクエストインターセプトを使用する場合は、setServiceWorkers を 'block'
に設定して Service Worker を無効にすることをお勧めします。
使用例
BrowserContext.routeFromHAR(har);
BrowserContext.routeFromHAR(har, options);
引数
-
事前記録されたネットワークデータを含む HAR ファイルへのパス。
path
が相対パスの場合、現在の作業ディレクトリを基準に解決されます。 -
options
BrowserContext.RouteFromHAROptions
(任意)-
setNotFound
enum HarNotFound { ABORT, FALLBACK }
(任意)#- 'abort' に設定すると、HAR ファイルに見つからないリクエストはすべて中止されます。
- 'fallback' に設定すると、ハンドラーチェーン内の次のルートハンドラーにフォールバックします。
デフォルトは abort です。
-
指定した場合、ファイルから提供する代わりに、実際のネットワーク情報で指定された HAR を更新します。ファイルは、BrowserContext.close() が呼び出されたときにディスクに書き込まれます。
-
setUpdateContent
enum RouteFromHarUpdateContentPolicy { EMBED, ATTACH }
(任意)v1.32 で追加#リソースコンテンツ管理を制御するためのオプション設定。
attach
が指定されている場合、リソースは個別のファイルまたは ZIP アーカイブのエントリとして永続化されます。embed
が指定されている場合、コンテンツは HAR ファイルにインラインで保存されます。 -
setUpdateMode
enum HarMode { FULL, MINIMAL }
(任意)v1.32 で追加#minimal
に設定すると、HAR からのルーティングに必要な情報のみを記録します。これにより、サイズ、タイミング、ページ、クッキー、セキュリティ、および HAR からのリプレイ時に使用されない他のタイプの HAR 情報が省略されます。デフォルトはminimal
です。 -
リクエスト URL に一致する glob パターン、正規表現、または述語。パターンに一致する URL を持つリクエストのみが HAR ファイルから提供されます。指定しない場合、すべてのリクエストが HAR ファイルから提供されます。
-
戻り値
routeWebSocket
v1.48 で追加このメソッドを使用すると、ブラウザコンテキスト内の任意のページによって行われる websocket 接続を変更できます。
このメソッドが呼び出された後に作成された WebSocket
のみがルーティングされることに注意してください。ページを作成する前にこのメソッドを呼び出すことをお勧めします。
使用例
以下は、一部の websocket メッセージをブロックする簡単なハンドラーの例です。詳細と例については、WebSocketRoute を参照してください。
context.routeWebSocket("/ws", ws -> {
ws.routeSend(message -> {
if ("to-be-blocked".equals(message))
return;
ws.send(message);
});
ws.connect();
});
引数
-
url
String | Pattern | Predicate<String>#このパターンに一致する url を持つ WebSocket のみがルーティングされます。文字列パターンは、setBaseURL コンテキストオプションに対して相対的にすることができます。
-
handler
Consumer<WebSocketRoute>#WebSocket をルーティングするハンドラー関数。
戻り値
setDefaultNavigationTimeout
v1.9 より前に追加この設定は、次のメソッドと関連するショートカットのデフォルトの最大ナビゲーション時間を変更します。
- Page.goBack()
- Page.goForward()
- Page.navigate()
- Page.reload()
- Page.setContent()
- Page.waitForNavigation()
使用例
BrowserContext.setDefaultNavigationTimeout(timeout);
引数
setDefaultTimeout
v1.9 より前に追加この設定は、timeout オプションを受け入れるすべてのメソッドのデフォルトの最大時間を変更します。
使用例
BrowserContext.setDefaultTimeout(timeout);
引数
setExtraHTTPHeaders
v1.9 より前に追加追加の HTTP ヘッダーは、コンテキスト内の任意のページによって開始されたすべてのリクエストとともに送信されます。これらのヘッダーは、Page.setExtraHTTPHeaders() で設定されたページ固有の追加 HTTP ヘッダーとマージされます。ページが特定のヘッダーをオーバーライドする場合、ブラウザコンテキストヘッダー値の代わりにページ固有のヘッダー値が使用されます。
BrowserContext.setExtraHTTPHeaders() は、送信リクエストのヘッダーの順序を保証しません。
使用例
BrowserContext.setExtraHTTPHeaders(headers);
引数
戻り値
setGeolocation
v1.9 より前に追加コンテキストの地理位置情報を設定します。null
または undefined
を渡すと、位置情報が利用できない状態をエミュレートします。
使用例
browserContext.setGeolocation(new Geolocation(59.95, 30.31667));
ブラウザコンテキストのページが地理位置情報を読み取る許可を与えるには、BrowserContext.grantPermissions() の使用を検討してください。
引数
戻り値
setOffline
v1.9 より前に追加使用例
BrowserContext.setOffline(offline);
引数
戻り値
storageState
v1.9 より前に追加このブラウザコンテキストのストレージ状態を返します。現在のクッキー、ローカルストレージのスナップショット、および IndexedDB のスナップショットが含まれます。
使用例
BrowserContext.storageState();
BrowserContext.storageState(options);
引数
options
BrowserContext.StorageStateOptions
(任意)-
setIndexedDB
boolean (任意)バージョン v1.51 で追加#ストレージ状態のスナップショットに IndexedDB を含める場合は
true
に設定します。アプリケーションが Firebase Authentication のように認証トークンを IndexedDB に保存している場合は、これを有効にしてください。注型付き配列を持つ IndexedDB は現在サポートされていません。
-
ストレージ状態を保存するファイルパス。setPath が相対パスの場合、現在の作業ディレクトリからの相対パスとして解決されます。パスが指定されていない場合でもストレージ状態は返されますが、ディスクには保存されません。
-
戻り値
unroute
v1.9 より前に追加BrowserContext.route() で作成されたルートを削除します。handler が指定されていない場合、url のすべてのルートを削除します。
使用例
BrowserContext.unroute(url);
BrowserContext.unroute(url, handler);
引数
-
url
String | Pattern | Predicate<String>#BrowserContext.route() でルーティングを登録するために使用される、グロブパターン、正規表現パターン、または [URL] を受け取る述語。
-
BrowserContext.route() でルーティングを登録するために使用される、オプションのハンドラー関数。
戻り値
unrouteAll
バージョン v1.41 で追加BrowserContext.route() および BrowserContext.routeFromHAR() で作成されたすべてのルートを削除します。
使用例
BrowserContext.unrouteAll();
戻り値
waitForCondition
v1.32 で追加このメソッドは、条件が true を返すまで処理をブロックします。メソッドが条件を待機している間、すべての Playwright イベントがディスパッチされます。
使用例
ページイベントに依存する条件を待つには、このメソッドを使用してください。
List<String> failedUrls = new ArrayList<>();
context.onResponse(response -> {
if (!response.ok()) {
failedUrls.add(response.url());
}
});
page1.getByText("Create user").click();
page2.getByText("Submit button").click();
context.waitForCondition(() -> failedUrls.size() > 3);
引数
-
condition
[BooleanSupplier]#待機する条件。
-
options
BrowserContext.WaitForConditionOptions
(任意)-
待機する最大時間(ミリ秒単位)。デフォルトは
30000
(30 秒) です。タイムアウトを無効にするには0
を渡します。デフォルト値は、BrowserContext.setDefaultTimeout() または Page.setDefaultTimeout() メソッドを使用して変更できます。
-
戻り値
waitForConsoleMessage
バージョン v1.34 で追加コンテキスト内のページで ConsoleMessage がログに記録されるのを待機し、アクションを実行します。述語が指定されている場合、ConsoleMessage 値を predicate
関数に渡し、predicate(message)
が真の値を返すのを待ちます。BrowserContext.onConsoleMessage(handler) イベントが発生する前にページが閉じられた場合、エラーがスローされます。
使用例
BrowserContext.waitForConsoleMessage(callback);
BrowserContext.waitForConsoleMessage(callback, options);
引数
-
options
BrowserContext.WaitForConsoleMessageOptions
(任意)-
setPredicate
Predicate<ConsoleMessage> (任意)#ConsoleMessage オブジェクトを受け取り、待機が解決されるべきときに真の値を返します。
-
待機する最大時間(ミリ秒単位)。デフォルトは
30000
(30 秒) です。タイムアウトを無効にするには0
を渡します。デフォルト値は、BrowserContext.setDefaultTimeout() を使用して変更できます。
-
-
イベントをトリガーするアクションを実行するコールバック。
戻り値
waitForPage
バージョン v1.9 で追加コンテキストで新しい Page が作成されるのを待機し、アクションを実行します。述語が指定されている場合、Page 値を predicate
関数に渡し、predicate(event)
が真の値を返すのを待ちます。新しい Page が作成される前にコンテキストが閉じられた場合、エラーがスローされます。
使用例
BrowserContext.waitForPage(callback);
BrowserContext.waitForPage(callback, options);
引数
-
options
BrowserContext.WaitForPageOptions
(任意) -
イベントをトリガーするアクションを実行するコールバック。
戻り値
プロパティ
clock()
バージョン v1.45 で追加Playwright には、クロックと時間の経過をモックする機能があります。
使用例
BrowserContext.clock()
戻り値
request()
バージョン v1.16 で追加このコンテキストに関連付けられた API テストヘルパー。この API で行われたリクエストは、コンテキストのクッキーを使用します。
使用例
BrowserContext.request()
戻り値
tracing()
バージョン v1.12 で追加使用例
BrowserContext.tracing()
戻り値
イベント
onBackgroundPage(handler)
v1.11 で追加Chromium ブラウザの永続コンテキストでのみ動作します。
新しいバックグラウンドページがコンテキストで作成されたときに発生します。
context.onBackgroundPage(backgroundPage -> {
System.out.println(backgroundPage.url());
});
使用例
BrowserContext.onBackgroundPage(handler)
イベントデータ
onClose(handler)
v1.9 より前に追加ブラウザコンテキストが閉じられたときに発生します。これは、次のいずれかの理由で発生する可能性があります。
- ブラウザコンテキストが閉じられた。
- ブラウザアプリケーションが閉じられたか、クラッシュした。
- Browser.close() メソッドが呼び出された。
使用例
BrowserContext.onClose(handler)
イベントデータ
onConsoleMessage(handler)
バージョン v1.34 で追加ページ内の JavaScript が、console.log
や console.dir
などのコンソール API メソッドのいずれかを呼び出したときに発生します。
console.log
に渡された引数とページは、ConsoleMessage イベントハンドラーの引数で利用できます。
使用例
context.onConsoleMessage(msg -> {
for (int i = 0; i < msg.args().size(); ++i)
System.out.println(i + ": " + msg.args().get(i).jsonValue());
});
page.evaluate("() => console.log('hello', 5, { foo: 'bar' })");
イベントデータ
onDialog(handler)
バージョン v1.34 で追加alert
、prompt
、confirm
、または beforeunload
などの JavaScript ダイアログが表示されたときに発生します。リスナーは、Dialog.accept() または Dialog.dismiss() のいずれかでダイアログを処理する必要があります。そうしないと、ページはダイアログを待機してフリーズし、クリックなどのアクションは完了しません。
使用例
context.onDialog(dialog -> {
dialog.accept();
});
Page.onDialog(handler) または BrowserContext.onDialog(handler) リスナーが存在しない場合、すべてのダイアログは自動的に閉じられます。
イベントデータ
onPage(handler)
v1.9 より前に追加このイベントは、新しい Page が BrowserContext で作成されたときに発生します。ページはまだロード中である可能性があります。このイベントは、ポップアップページにも発生します。特定のページに関連するポップアップに関するイベントを受信するには、Page.onPopup(handler) も参照してください。
ページが利用可能になる最も早いタイミングは、最初の URL に移動したときです。たとえば、window.open('http://example.com')
でポップアップを開くと、"http://example.com" へのネットワークリクエストが完了し、そのレスポンスがポップアップでのロードを開始したときに、このイベントが発生します。このネットワークリクエストをルーティング/リッスンする場合は、BrowserContext.route() および BrowserContext.onRequest(handler) をそれぞれ Page の同様のメソッドの代わりに使用してください。
Page newPage = context.waitForPage(() -> {
page.getByText("open new page").click();
});
System.out.println(newPage.evaluate("location.href"));
ページが特定の状態になるまで待機するには、Page.waitForLoadState() を使用してください(ほとんどの場合、必要ありません)。
使用例
BrowserContext.onPage(handler)
イベントデータ
onRequest(handler)
バージョン v1.12 で追加このコンテキストを通じて作成された任意のページからリクエストが発行されたときに発生します。request オブジェクトは読み取り専用です。特定のページからのリクエストのみをリッスンするには、Page.onRequest(handler) を使用してください。
リクエストをインターセプトして変更するには、BrowserContext.route() または Page.route() を参照してください。
使用例
BrowserContext.onRequest(handler)
イベントデータ
onRequestFailed(handler)
バージョン v1.12 で追加リクエストが失敗した場合(タイムアウトなど)に発生します。特定のページからの失敗したリクエストのみをリッスンするには、Page.onRequestFailed(handler) を使用してください。
404 や 503 などの HTTP エラーレスポンスは、HTTP の観点からは依然として成功したレスポンスであるため、リクエストは BrowserContext.onRequestFinished(handler) イベントで完了し、BrowserContext.onRequestFailed(handler) イベントでは完了しません。
使用例
BrowserContext.onRequestFailed(handler)
イベントデータ
onRequestFinished(handler)
バージョン v1.12 で追加レスポンスボディのダウンロード後、リクエストが正常に完了したときに発生します。成功したレスポンスの場合、イベントのシーケンスは request
、response
、および requestfinished
です。特定のページからの成功したリクエストをリッスンするには、Page.onRequestFinished(handler) を使用してください。
使用例
BrowserContext.onRequestFinished(handler)
イベントデータ
onResponse(handler)
バージョン v1.12 で追加リクエストに対して response ステータスとヘッダーが受信されたときに発生します。成功したレスポンスの場合、イベントのシーケンスは request
、response
、および requestfinished
です。特定のページからのレスポンスイベントをリッスンするには、Page.onResponse(handler) を使用してください。
使用例
BrowserContext.onResponse(handler)
イベントデータ
onWebError(handler)
バージョン v1.38 で追加このコンテキスト内のいずれかのページで未処理の例外が発生した場合に発生します。特定のページからのエラーをリッスンするには、代わりに Page.onPageError(handler) を使用してください。
使用例
BrowserContext.onWebError(handler)
イベントデータ