跳到主要內容

BrowserContext

BrowserContexts 提供操作多個獨立瀏覽器會話的方法。

如果頁面開啟另一個頁面,例如使用 window.open 呼叫,則彈出視窗將屬於父頁面的瀏覽器內容。

Playwright 允許使用 browser.new_context() 方法建立隔離的非持久性瀏覽器內容。非持久性瀏覽器內容不會將任何瀏覽資料寫入磁碟。

# create a new incognito browser context
context = browser.new_context()
# create a new page inside context.
page = context.new_page()
page.goto("https://example.com")
# dispose context once it is no longer needed.
context.close()

方法

add_cookies

在 v1.9 之前新增 browserContext.add_cookies

將 Cookie 新增到此瀏覽器內容中。此內容中的所有頁面都將安裝這些 Cookie。Cookie 可以透過 browser_context.cookies() 取得。

用法

browser_context.add_cookies([cookie_object1, cookie_object2])

引數

  • cookies List[Dict]#
    • name str

    • value str

    • url str (選用)

      url 或 domain / path 為必填。選用。

    • domain str (選用)

      若要讓 Cookie 也適用於所有子網域,請在網域前面加上點,例如 ".example.com"。url 或 domain / path 為必填。選用。

    • path str (選用)

      url 或 domain / path 為必填 選用。

    • expires float (選用)

      Unix 時間,以秒為單位。選用。

    • httpOnly bool (選用)

      選用。

    • secure bool (選用)

      選用。

    • sameSite "Strict" | "Lax" | "None" (選用)

      選用。

傳回


add_init_script

在 v1.9 之前新增 browserContext.add_init_script

新增一個腳本,該腳本將在以下情況之一中評估

  • 每當在瀏覽器內容中建立或導航頁面時。
  • 每當在瀏覽器內容中的任何頁面中附加或導航子框架時。在這種情況下,腳本會在新附加的框架的內容中評估。

腳本在文件建立之後但在其任何腳本執行之前評估。這對於修改 JavaScript 環境非常有用,例如,播種 Math.random

用法

在頁面載入之前覆寫 Math.random 的範例

// preload.js
Math.random = () => 42;
# in your playwright script, assuming the preload.js file is in same directory.
browser_context.add_init_script(path="preload.js")
注意

透過 browser_context.add_init_script()page.add_init_script() 安裝的多個腳本的評估順序未定義。

引數

  • path Union[str, pathlib.Path] (選用)#

    JavaScript 檔案的路徑。如果 path 是相對路徑,則會相對於目前的工作目錄解析。選用。

  • script str (選用)#

    要在瀏覽器內容中的所有頁面中評估的腳本。選用。

傳回


clear_cookies

在 v1.9 之前新增 browserContext.clear_cookies

從內容中移除 Cookie。接受選用篩選器。

用法

context.clear_cookies()
context.clear_cookies(name="session-id")
context.clear_cookies(domain="my-origin.com")
context.clear_cookies(path="/api/v1")
context.clear_cookies(name="session-id", domain="my-origin.com")

引數

  • domain str | Pattern (選用)新增於:v1.43#

    僅移除具有給定網域的 Cookie。

  • name str | Pattern (選用)新增於:v1.43#

    僅移除具有給定名稱的 Cookie。

  • path str | Pattern (選用)新增於:v1.43#

    僅移除具有給定路徑的 Cookie。

傳回


clear_permissions

在 v1.9 之前新增 browserContext.clear_permissions

清除瀏覽器內容的所有權限覆寫。

用法

context = browser.new_context()
context.grant_permissions(["clipboard-read"])
# do stuff ..
context.clear_permissions()

傳回


close

在 v1.9 之前新增 browserContext.close

關閉瀏覽器內容。屬於瀏覽器內容的所有頁面都將關閉。

注意

預設瀏覽器內容無法關閉。

用法

browser_context.close()
browser_context.close(**kwargs)

引數

  • reason str (選用)新增於:v1.40#

    要報告給內容關閉中斷的操作的原因。

傳回


cookies

在 v1.9 之前新增 browserContext.cookies

如果未指定 URL,此方法會傳回所有 Cookie。如果指定了 URL,則僅傳回影響這些 URL 的 Cookie。

用法

browser_context.cookies()
browser_context.cookies(**kwargs)

引數

  • urls str | List[str] (選用)#

    URL 的選用清單。

傳回


expect_console_message

新增於:v1.34 browserContext.expect_console_message

執行動作並等待 ConsoleMessage 由內容中的頁面記錄。如果提供了 predicate,它會將 ConsoleMessage 值傳遞到 predicate 函數中,並等待 predicate(message) 傳回 truthy 值。如果頁面在觸發 browser_context.on("console") 事件之前關閉,將會擲回錯誤。

用法

browser_context.expect_console_message()
browser_context.expect_console_message(**kwargs)

引數

傳回


expect_event

在 v1.9 之前新增 browserContext.expect_event

等待事件觸發並將其值傳遞到 predicate 函數中。當 predicate 傳回 truthy 值時傳回。如果內容在事件觸發之前關閉,將會擲回錯誤。傳回事件資料值。

用法

with context.expect_event("page") as event_info:
page.get_by_role("button").click()
page = event_info.value

引數

  • event str#

    事件名稱,與傳遞到 browserContext.on(event) 的名稱相同。

  • predicate Callable (選用)#

    接收事件資料,並在等待應解析時解析為 truthy 值。

  • timeout float (選用)#

    等待的最長時間,以毫秒為單位。預設為 30000 (30 秒)。傳遞 0 以停用逾時。預設值可以使用 browser_context.set_default_timeout() 變更。

傳回


expect_page

新增於:v1.9 browserContext.expect_page

執行動作並等待新的 Page 在內容中建立。如果提供了 predicate,它會將 Page 值傳遞到 predicate 函數中,並等待 predicate(event) 傳回 truthy 值。如果內容在建立新的 Page 之前關閉,將會擲回錯誤。

用法

browser_context.expect_page()
browser_context.expect_page(**kwargs)

引數

傳回


expose_binding

在 v1.9 之前新增 browserContext.expose_binding

此方法在內容中每個頁面的每個框架的 window 物件上新增一個名為 name 的函數。呼叫時,該函數會執行 callback 並傳回一個 Promise,該 Promise 解析為 callback 的傳回值。如果 callback 傳回 Promise,則將會等待它。

callback 函數的第一個引數包含有關呼叫者的資訊:{ browserContext: BrowserContext, page: Page, frame: Frame }

請參閱 page.expose_binding() 以取得僅限頁面的版本。

用法

將頁面 URL 公開給內容中所有頁面的所有框架的範例

from playwright.sync_api import sync_playwright, Playwright

def run(playwright: Playwright):
webkit = playwright.webkit
browser = webkit.launch(headless=False)
context = browser.new_context()
context.expose_binding("pageURL", lambda source: source["page"].url)
page = context.new_page()
page.set_content("""
<script>
async function onClick() {
document.querySelector('div').textContent = await window.pageURL();
}
</script>
<button onclick="onClick()">Click me</button>
<div></div>
""")
page.get_by_role("button").click()

with sync_playwright() as playwright:
run(playwright)

引數

  • name str#

    window 物件上函數的名稱。

  • callback Callable#

    將在 Playwright 的內容中呼叫的回呼函數。

  • handle bool (選用)#

    已棄用

    此選項將在未來版本中移除。

    是否將引數作為控制代碼傳遞,而不是依值傳遞。傳遞控制代碼時,僅支援一個引數。依值傳遞時,支援多個引數。

傳回


expose_function

在 v1.9 之前新增 browserContext.expose_function

此方法在內容中每個頁面的每個框架的 window 物件上新增一個名為 name 的函數。呼叫時,該函數會執行 callback 並傳回一個 Promise,該 Promise 解析為 callback 的傳回值。

如果 callback 傳回 Promise,則將會等待它。

請參閱 page.expose_function() 以取得僅限頁面的版本。

用法

sha256 函數新增到內容中所有頁面的範例

import hashlib
from playwright.sync_api import sync_playwright

def sha256(text: str) -> str:
m = hashlib.sha256()
m.update(bytes(text, "utf8"))
return m.hexdigest()


def run(playwright: Playwright):
webkit = playwright.webkit
browser = webkit.launch(headless=False)
context = browser.new_context()
context.expose_function("sha256", sha256)
page = context.new_page()
page.set_content("""
<script>
async function onClick() {
document.querySelector('div').textContent = await window.sha256('PLAYWRIGHT');
}
</script>
<button onclick="onClick()">Click me</button>
<div></div>
""")
page.get_by_role("button").click()

with sync_playwright() as playwright:
run(playwright)

引數

  • name str#

    window 物件上函數的名稱。

  • callback Callable#

    將在 Playwright 的內容中呼叫的回呼函數。

傳回


grant_permissions

在 v1.9 之前新增 browserContext.grant_permissions

將指定的權限授予瀏覽器內容。如果指定,則僅將對應的權限授予給定的來源。

用法

browser_context.grant_permissions(permissions)
browser_context.grant_permissions(permissions, **kwargs)

引數

  • permissions List[str]#

    要授予的權限清單。

    危險

    支援的權限在瀏覽器之間,甚至在同一瀏覽器的不同版本之間也有所不同。任何權限都可能在更新後停止運作。

    以下是一些可能受某些瀏覽器支援的權限

    • 'accelerometer'
    • 'ambient-light-sensor'
    • 'background-sync'
    • 'camera'
    • 'clipboard-read'
    • 'clipboard-write'
    • 'geolocation'
    • 'gyroscope'
    • 'magnetometer'
    • 'microphone'
    • 'midi-sysex' (系統專屬 midi)
    • 'midi'
    • 'notifications'
    • 'payment-handler'
    • 'storage-access'
  • origin str (選用)#

    要授予權限的 來源,例如 "https://example.com"。

傳回


new_cdp_session

新增於:v1.11 browserContext.new_cdp_session
注意

CDP 會話僅在基於 Chromium 的瀏覽器上受支援。

傳回新建立的會話。

用法

browser_context.new_cdp_session(page)

引數

  • page Page | Frame#

    要為其建立新會話的目標。為了向後相容性,此參數名為 page,但它可以是 PageFrame 類型。

傳回


new_page

在 v1.9 之前新增 browserContext.new_page

在瀏覽器內容中建立新頁面。

用法

browser_context.new_page()

傳回


route

在 v1.9 之前新增 browserContext.route

路由提供修改瀏覽器內容中任何頁面發出的網路請求的功能。啟用路由後,每個符合 url 模式的請求都將停滯,除非它繼續、完成或中止。

注意

browser_context.route() 不會攔截 Service Worker 攔截的請求。請參閱 問題。我們建議在使用請求攔截時停用 Service Worker,方法是將 service_workers 設定為 'block'

用法

中止所有影像請求的天真處理常式的範例

context = browser.new_context()
page = context.new_page()
context.route("**/*.{png,jpg,jpeg}", lambda route: route.abort())
page.goto("https://example.com")
browser.close()

或使用 regex 模式的相同程式碼片段

context = browser.new_context()
page = context.new_page()
context.route(re.compile(r"(\.png$)|(\.jpg$)"), lambda route: route.abort())
page = await context.new_page()
page = context.new_page()
page.goto("https://example.com")
browser.close()

可以檢查請求以決定路由動作。例如,模擬包含某些 post 資料的所有請求,並將所有其他請求保持原樣

def handle_route(route: Route):
if ("my-string" in route.request.post_data):
route.fulfill(body="mocked-data")
else:
route.continue_()
context.route("/api/**", handle_route)

當請求同時符合兩個處理常式時,頁面路由 (使用 page.route() 設定) 優先於瀏覽器內容路由。

若要移除具有其處理常式的路由,您可以使用 browser_context.unroute()

注意

啟用路由會停用 http 快取。

引數

  • url str | Pattern | Callable[URL]:bool#

    在路由時接收 URL 以進行比對的 glob 模式、regex 模式或 predicate。當透過內容選項提供 base_url 且傳遞的 URL 是路徑時,它會透過 new URL() 建構函式合併。

  • handler Callable[Route, Request]:Promise[Any] | Any#

    用於路由請求的處理常式函數。

  • times int (選用)新增於:v1.15#

    路由應使用的頻率。預設情況下,它將每次使用。

傳回


route_from_har

新增於:v1.23 browserContext.route_from_har

如果指定,則在此內容中發出的網路請求將從 HAR 檔案提供。閱讀更多關於 從 HAR 重新播放

Playwright 不會從 HAR 檔案提供 Service Worker 攔截的請求。請參閱 問題。我們建議在使用請求攔截時停用 Service Worker,方法是將 service_workers 設定為 'block'

用法

browser_context.route_from_har(har)
browser_context.route_from_har(har, **kwargs)

引數

  • har Union[str, pathlib.Path]#

    具有預先錄製的網路資料的 HAR 檔案的路徑。如果 path 是相對路徑,則會相對於目前的工作目錄解析。

  • not_found "abort" | "fallback" (選用)#

    • 如果設定為 'abort',則任何在 HAR 檔案中找不到的請求都將中止。
    • 如果設定為 'fallback',則會退回到處理常式鏈中的下一個路由處理常式。

    預設為中止。

  • update bool (選用)#

    如果指定,則使用實際網路資訊更新給定的 HAR,而不是從檔案提供。當呼叫 browser_context.close() 時,檔案會寫入磁碟。

  • update_content "embed" | "attach" (選用)新增於:v1.32#

    用於控制資源內容管理的選用設定。如果指定 attach,則資源會持續儲存為 ZIP 歸檔中的個別檔案或項目。如果指定 embed,則內容會內嵌儲存在 HAR 檔案中。

  • update_mode "full" | "minimal" (選用)新增於:v1.32#

    當設定為 minimal 時,僅記錄從 HAR 路由所需的資訊。這會省略大小、時間、頁面、Cookie、安全性和其他類型的 HAR 資訊,這些資訊在從 HAR 重新播放時不會使用。預設為 minimal

  • url str | Pattern (選用)#

    用於比對請求 URL 的 glob 模式、正則表達式或 predicate。只有 URL 符合模式的請求才會從 HAR 檔案提供。如果未指定,則所有請求都從 HAR 檔案提供。

傳回


route_web_socket

新增於:v1.48 browserContext.route_web_socket

此方法允許修改瀏覽器內容中任何頁面建立的 websocket 連線。

請注意,只有在此方法呼叫之後建立的 WebSockets 才會被路由。建議在建立任何頁面之前呼叫此方法。

用法

以下是一個簡單的處理常式的範例,該處理常式會封鎖某些 websocket 訊息。請參閱 WebSocketRoute 以取得更多詳細資訊和範例。

def message_handler(ws: WebSocketRoute, message: Union[str, bytes]):
if message == "to-be-blocked":
return
ws.send(message)

def handler(ws: WebSocketRoute):
ws.route_send(lambda message: message_handler(ws, message))
ws.connect()

context.route_web_socket("/ws", handler)

引數

傳回


set_default_navigation_timeout

在 v1.9 之前新增 browserContext.set_default_navigation_timeout

此設定將變更以下方法和相關捷徑的預設最大導航時間

用法

browser_context.set_default_navigation_timeout(timeout)

引數

  • timeout float#

    導航最大等待時間,單位為毫秒


set_default_timeout

在 v1.9 之前新增 browserContext.set_default_timeout

此設定將變更所有接受 timeout 選項的方法的預設最大等待時間。

用法

browser_context.set_default_timeout(timeout)

引數

  • timeout float#

    最大等待時間,單位為毫秒。傳遞 0 以停用超時。


set_extra_http_headers

在 v1.9 之前新增 browserContext.set_extra_http_headers

額外的 HTTP 標頭將與 context 中任何頁面發起的每個請求一起發送。這些標頭會與使用 page.set_extra_http_headers() 設定的頁面特定額外 HTTP 標頭合併。如果頁面覆寫了特定的標頭,則將使用頁面特定的標頭值,而不是瀏覽器 context 標頭值。

注意

browser_context.set_extra_http_headers() 不保證傳出請求中標頭的順序。

用法

browser_context.set_extra_http_headers(headers)

引數

  • headers Dict[str, str]#

    包含要與每個請求一起發送的額外 HTTP 標頭的物件。所有標頭值都必須是字串。

傳回


set_geolocation

在 v1.9 之前新增 browserContext.set_geolocation

設定 context 的地理位置。傳遞 nullundefined 會模擬位置不可用。

用法

browser_context.set_geolocation({"latitude": 59.95, "longitude": 30.31667})
注意

考慮使用 browser_context.grant_permissions() 來授予瀏覽器 context 頁面讀取其地理位置的權限。

引數

  • geolocation NoneType | Dict#
    • latitude float

      緯度,介於 -90 到 90 之間。

    • longitude float

      經度,介於 -180 到 180 之間。

    • accuracy float (選用)

      非負數的精確度值。預設為 0

傳回


set_offline

在 v1.9 之前新增 browserContext.set_offline

用法

browser_context.set_offline(offline)

引數

  • offline bool#

    是否模擬瀏覽器 context 網路離線。

傳回


storage_state

在 v1.9 之前新增 browserContext.storage_state

傳回此瀏覽器 context 的儲存狀態,包含目前的 Cookie 和本機儲存快照。

用法

browser_context.storage_state()
browser_context.storage_state(**kwargs)

引數

  • path Union[str, pathlib.Path] (選用)#

    儲存儲存狀態的檔案路徑。如果 path 是相對路徑,則會相對於目前的工作目錄解析。如果未提供路徑,則仍會傳回儲存狀態,但不會儲存到磁碟。

傳回


unroute

在 v1.9 之前新增 browserContext.unroute

移除使用 browser_context.route() 建立的路由。當未指定 handler 時,移除 url 的所有路由。

用法

browser_context.unroute(url)
browser_context.unroute(url, **kwargs)

引數

傳回


unroute_all

新增於:v1.41 browserContext.unroute_all

移除所有使用 browser_context.route()browser_context.route_from_har() 建立的路由。

用法

browser_context.unroute_all()
browser_context.unroute_all(**kwargs)

引數

  • behavior "wait" | "ignoreErrors" | "default" (選用)#

    指定是否等待已在執行的處理程序,以及如果它們拋出錯誤時該怎麼做

    • 'default' - 不等待目前處理程序呼叫(如果有的話)完成,如果未路由的處理程序拋出錯誤,可能會導致未處理的錯誤
    • 'wait' - 等待目前處理程序呼叫(如果有的話)完成
    • 'ignoreErrors' - 不等待目前處理程序呼叫(如果有的話)完成,路由移除後處理程序拋出的所有錯誤都會被靜默捕獲

傳回


wait_for_event

在 v1.9 之前新增 browserContext.wait_for_event
注意

在大多數情況下,您應該使用 browser_context.expect_event()

等待給定的 event 觸發。如果提供了謂詞,它會將事件的值傳遞到 predicate 函數中,並等待 predicate(event) 傳回真值。如果瀏覽器 context 在 event 觸發之前關閉,將拋出錯誤。

用法

browser_context.wait_for_event(event)
browser_context.wait_for_event(event, **kwargs)

引數

  • event str#

    事件名稱,通常與傳遞到 *.on(event) 中的名稱相同。

  • predicate Callable (選用)#

    接收事件資料,並在等待應解析時解析為 truthy 值。

  • timeout float (選用)#

    等待的最長時間,以毫秒為單位。預設為 30000 (30 秒)。傳遞 0 以停用逾時。預設值可以使用 browser_context.set_default_timeout() 變更。

傳回


屬性

background_pages

新增於:v1.11 browserContext.background_pages
注意

背景頁面僅在基於 Chromium 的瀏覽器上受支援。

context 中的所有現有背景頁面。

用法

browser_context.background_pages

傳回


browser

在 v1.9 之前新增 browserContext.browser

傳回 context 的瀏覽器實例。如果它是作為持久性 context 啟動的,則會傳回 null。

用法

browser_context.browser

傳回


clock

新增於:v1.45 browserContext.clock

Playwright 能夠模擬時鐘和時間的流逝。

用法

browser_context.clock

類型


pages

在 v1.9 之前新增 browserContext.pages

傳回 context 中所有開啟的頁面。

用法

browser_context.pages

傳回


request

新增於:v1.16 browserContext.request

與此 context 關聯的 API 測試輔助工具。使用此 API 發出的請求將使用 context Cookie。

用法

browser_context.request

類型


service_workers

新增於:v1.11 browserContext.service_workers
注意

Service Worker 僅在基於 Chromium 的瀏覽器上受支援。

context 中的所有現有 Service Worker。

用法

browser_context.service_workers

傳回


tracing

新增於:v1.12 browserContext.tracing

用法

browser_context.tracing

類型


事件

on("backgroundpage")

新增於:v1.11 browserContext.on("backgroundpage")
注意

僅適用於 Chromium 瀏覽器的持久性 context。

當在 context 中建立新的背景頁面時發出。

background_page = context.wait_for_event("backgroundpage")

用法

browser_context.on("backgroundpage", handler)

事件資料


on("close")

在 v1.9 之前新增 browserContext.on("close")

當瀏覽器 context 關閉時發出。這可能是由於以下原因之一:

  • 瀏覽器 context 已關閉。
  • 瀏覽器應用程式已關閉或崩潰。
  • 已呼叫 browser.close() 方法。

用法

browser_context.on("close", handler)

事件資料


on("console")

新增於:v1.34 browserContext.on("console")

當頁面內的 JavaScript 呼叫其中一個 console API 方法時發出,例如 console.logconsole.dir

傳遞到 console.log 的參數和頁面可在 ConsoleMessage 事件處理程序參數中使用。

用法

def print_args(msg):
for arg in msg.args:
print(arg.json_value())

context.on("console", print_args)
page.evaluate("console.log('hello', 5, { foo: 'bar' })")

事件資料


on("dialog")

新增於:v1.34 browserContext.on("dialog")

當 JavaScript 對話框出現時發出,例如 alertpromptconfirmbeforeunload。Listener **必須** dialog.accept()dialog.dismiss() 對話框 - 否則頁面將 凍結 等待對話框,並且像 click 這樣的動作永遠不會完成。

用法

context.on("dialog", lambda dialog: dialog.accept())
注意

當沒有 page.on("dialog")browser_context.on("dialog") 監聽器時,所有對話框都會自動關閉。

事件資料


on("page")

在 v1.9 之前新增 browserContext.on("page")

當在 BrowserContext 中建立新頁面時發出事件。頁面可能仍在載入中。此事件也將為彈出頁面觸發。另請參閱 page.on("popup") 以接收有關特定頁面的彈出視窗的事件。

頁面可用的最早時刻是它導航到初始 URL 時。例如,當使用 window.open('http://example.com') 開啟彈出視窗時,當對 "http://example.com" 的網路請求完成且其回應已開始在彈出視窗中載入時,此事件將觸發。如果您想路由/監聽此網路請求,請使用 browser_context.route()browser_context.on("request"),而不是 Page 上的類似方法。

with context.expect_page() as page_info:
page.get_by_text("open new page").click(),
page = page_info.value
print(page.evaluate("location.href"))
注意

使用 page.wait_for_load_state() 等待頁面達到特定狀態(在大多數情況下您不需要它)。

用法

browser_context.on("page", handler)

事件資料


on("request")

新增於:v1.12 browserContext.on("request")

當從透過此 context 建立的任何頁面發出請求時發出。 request 物件是唯讀的。若只想監聽來自特定頁面的請求,請使用 page.on("request")

為了攔截和變更請求,請參閱 browser_context.route()page.route()

用法

browser_context.on("request", handler)

事件資料


on("requestfailed")

新增於:v1.12 browserContext.on("requestfailed")

當請求失敗時發出,例如由於超時。若只想監聽來自特定頁面的失敗請求,請使用 page.on("requestfailed")

注意

HTTP 錯誤回應(例如 404 或 503)從 HTTP 的角度來看仍然是成功的回應,因此請求將以 browser_context.on("requestfinished") 事件完成,而不是 browser_context.on("requestfailed")

用法

browser_context.on("requestfailed", handler)

事件資料


on("requestfinished")

新增於:v1.12 browserContext.on("requestfinished")

當請求在下載回應本文後成功完成時發出。對於成功的回應,事件順序為 requestresponserequestfinished。若要監聽來自特定頁面的成功請求,請使用 page.on("requestfinished")

用法

browser_context.on("requestfinished", handler)

事件資料


on("response")

新增於:v1.12 browserContext.on("response")

當收到請求的 response 狀態和標頭時發出。對於成功的回應,事件順序為 requestresponserequestfinished。若要監聽來自特定頁面的回應事件,請使用 page.on("response")

用法

browser_context.on("response", handler)

事件資料


on("serviceworker")

新增於:v1.11 browserContext.on("serviceworker")
注意

Service Worker 僅在基於 Chromium 的瀏覽器上受支援。

當在 context 中建立新的 Service Worker 時發出。

用法

browser_context.on("serviceworker", handler)

事件資料


on("weberror")

新增於:v1.38 browserContext.on("weberror")

當此 context 中任何頁面中發生未處理的例外狀況時發出。若要監聽來自特定頁面的錯誤,請改用 page.on("pageerror")

用法

browser_context.on("weberror", handler)

事件資料