From c90392bdf5c00fa2c31735aad6f95a70a86d97cb Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Wed, 12 Dec 2018 15:08:31 -0800 Subject: [PATCH] feat: introduce page.browserContext() (#3655) --- docs/api.md | 7 +++++++ lib/Page.js | 7 +++++++ test/page.spec.js | 6 ++++++ 3 files changed, 20 insertions(+) diff --git a/docs/api.md b/docs/api.md index 65a44f7eaa692..7f7b6f0bfb7c6 100644 --- a/docs/api.md +++ b/docs/api.md @@ -96,6 +96,7 @@ * [page.authenticate(credentials)](#pageauthenticatecredentials) * [page.bringToFront()](#pagebringtofront) * [page.browser()](#pagebrowser) + * [page.browserContext()](#pagebrowsercontext) * [page.click(selector[, options])](#pageclickselector-options) * [page.close([options])](#pagecloseoptions) * [page.content()](#pagecontent) @@ -1099,6 +1100,12 @@ Brings page to front (activates tab). Get the browser the page belongs to. +#### page.browserContext() + +- returns: <[BrowserContext]> + +Get the browser context that the page belongs to. + #### page.click(selector[, options]) - `selector` <[string]> A [selector] to search for element to click. If there are multiple elements satisfying the selector, the first will be clicked. - `options` <[Object]> diff --git a/lib/Page.js b/lib/Page.js index d5fc755cec42e..95052520d07ea 100644 --- a/lib/Page.js +++ b/lib/Page.js @@ -172,6 +172,13 @@ class Page extends EventEmitter { return this._target.browser(); } + /** + * @return {!Puppeteer.BrowserContext} + */ + browserContext() { + return this._target.browserContext(); + } + _onTargetCrashed() { this.emit('error', new Error('Page crashed!')); } diff --git a/test/page.spec.js b/test/page.spec.js index 35fb6f317745b..3709ae271d201 100644 --- a/test/page.spec.js +++ b/test/page.spec.js @@ -918,4 +918,10 @@ module.exports.addTests = function({testRunner, expect, headless}) { expect(page.browser()).toBe(browser); }); }); + + describe('Page.browserContext', function() { + it('should return the correct browser instance', async function({page, context, browser}) { + expect(page.browserContext()).toBe(context); + }); + }); };