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 を返す場合、それは待機されます。
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 を返す場合、それは待機されます。
ページのみのバージョンについては、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'
(システムエクスクルーシブ MIDI)'midi'
'notifications'
'payment-handler'
'storage-access'
-
options
BrowserContext.GrantPermissionsOptions
(オプション)-
パーミッションを付与するオリジン。例: "https://example.com"。
-
戻り値
newCDPSession
追加日: v1.11CDP セッションは Chromium ベースのブラウザでのみサポートされています。
新しく作成されたセッションを返します。
使用方法
BrowserContext.newCDPSession(page);
引数
-
新しいセッションを作成するターゲット。下位互換性のため、このパラメータは
page
と名付けられていますが、Page
またはFrame
タイプにすることができます。
戻り値
newPage
v1.9より前に追加ブラウザコンテキストに新しいページを作成します。
使用方法
BrowserContext.newPage();
戻り値
pages
v1.9より前に追加コンテキスト内の開いているすべてのページを返します。
使用方法
BrowserContext.pages();
戻り値
route
v1.9より前に追加ルーティングは、ブラウザコンテキスト内の任意のページによって行われるネットワークリクエストを変更する機能を提供します。ルーティングが有効になると、URLパターンに一致するすべてのリクエストは、続行、達成、または中断されない限り、停止します。
BrowserContext.route() は Service Worker によって傍受されたリクエストを傍受しません。この問題を参考にしてください。リクエスト傍受を使用する場合は、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();
リクエストを調べてルートアクションを決定することができます。たとえば、一部の POST データを含むすべてのリクエストをモックし、その他のリクエストはそのままにします。
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>#ルーティング中に一致させる [URL] を受け取るグロブパターン、正規表現パターン、または述語。コンテキストオプションで setBaseURL が設定されており、提供された URL が
*
で始まらない文字列の場合、それはnew URL()
コンストラクタを使用して解決されます。 -
リクエストをルーティングするハンドラ関数。
-
options
BrowserContext.RouteOptions
(オプション)
戻り値
routeFromHAR
追加日: v1.23指定した場合、コンテキストで行われるネットワークリクエストは HAR ファイルから提供されます。HARからのリプレイについて詳しくはこちらをご覧ください。
PlaywrightはService Workerによって傍受されたリクエストをHARファイルから提供しません。この問題を参考にしてください。リクエスト傍受を使用する場合は、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
です。 -
setUrl
String | Pattern (オプション)#リクエスト URL に一致させるグロブパターン、正規表現、または述語。パターンに一致する URL を持つリクエストのみが HAR ファイルから提供されます。指定しない場合、すべてのリクエストが HAR ファイルから提供されます。
-
戻り値
routeWebSocket
追加日: v1.48このメソッドは、ブラウザコンテキスト内の任意のページによって行われるwebsocket接続を変更することができます。
このメソッドが呼び出された後に作成された WebSocket
s のみがルーティングされることに注意してください。ページを作成する前にこのメソッドを呼び出すことをお勧めします。
使用方法
以下は、一部の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
(オプション)
戻り値
unroute
v1.9より前に追加BrowserContext.route() で作成されたルートを削除します。handler が指定されていない場合、url のすべてのルートを削除します。
使用方法
BrowserContext.unroute(url);
BrowserContext.unroute(url, handler);
引数
-
url
String | Pattern | Predicate<String>#BrowserContext.route() でルーティングを登録するために使用された [URL] を受け取るグロブパターン、正規表現パターン、または述語。
-
handler
Consumer<Route> (オプション)#BrowserContext.route() でルーティングを登録するために使用されるオプションのハンドラ関数。
戻り値
unrouteAll
追加日: v1.41BrowserContext.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.45Playwright には、時刻と時間の経過をモックする機能があります。
使用方法
BrowserContext.clock()
戻り値
request()
追加日: v1.16このコンテキストに関連付けられたAPIテストヘルパー。このAPIで行われたリクエストは、コンテキストクッキーを使用します。
使用方法
BrowserContext.request()
戻り値
tracing()
追加日: v1.12使用方法
BrowserContext.tracing()
戻り値
イベント
onBackgroundPage(handler)
追加日: v1.11Chromium ブラウザの永続コンテキストでのみ動作します。
コンテキストに新しいバックグラウンドページが作成されたときに発火します。
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.34alert
、prompt
、confirm
、beforeunload
などの JavaScript ダイアログが表示されたときに発火します。リスナーはダイアログを Dialog.accept() または Dialog.dismiss() のいずれかを行う必要があります。そうしないと、ページがダイアログを待機してフリーズし、クリックなどのアクションが完了しなくなります。
使用方法
context.onDialog(dialog -> {
dialog.accept();
});
Page.onDialog(handler) または BrowserContext.onDialog(handler) リスナーが存在しない場合、すべてのダイアログは自動的に閉じられます。
イベントデータ
onPage(handler)
v1.9より前に追加このイベントは、BrowserContext に新しい Page が作成されたときに発火します。ページはまだロード中である可能性があります。このイベントはポップアップページに対しても発火します。特定のページに関連するポップアップに関するイベントを受け取るには、Page.onPopup(handler) も参照してください。
ページが利用可能になる最も早い時点は、初期URLにナビゲートしたときです。たとえば、window.open('http://example.com')
でポップアップを開くと、「http://example.com」へのネットワークリクエストが完了し、その応答がポップアップにロードされ始めたときにこのイベントが発火します。このネットワークリクエストをルーティング/リッスンしたい場合は、Page の同様のメソッドではなく、それぞれ BrowserContext.route() と BrowserContext.onRequest(handler) を使用してください。
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)
イベントデータ