docs: clarify use of browser.close (#15255)
This commit is contained in:
parent
ff2647cfa3
commit
9cafab382b
|
|
@ -92,6 +92,10 @@ were opened).
|
||||||
In case this browser is connected to, clears all created contexts belonging to this browser and disconnects from the
|
In case this browser is connected to, clears all created contexts belonging to this browser and disconnects from the
|
||||||
browser server.
|
browser server.
|
||||||
|
|
||||||
|
:::note
|
||||||
|
This is similar to force quitting the browser. Therefore, you should call [`method: BrowserContext.close`] on any [BrowserContext]'s you explicitly created earlier with [`method: Browser.newContext`] **before** calling [`method: Browser.close`].
|
||||||
|
:::
|
||||||
|
|
||||||
The [Browser] object itself is considered to be disposed and cannot be used anymore.
|
The [Browser] object itself is considered to be disposed and cannot be used anymore.
|
||||||
|
|
||||||
## method: Browser.contexts
|
## method: Browser.contexts
|
||||||
|
|
@ -156,6 +160,11 @@ Returns the newly created browser session.
|
||||||
|
|
||||||
Creates a new browser context. It won't share cookies/cache with other browser contexts.
|
Creates a new browser context. It won't share cookies/cache with other browser contexts.
|
||||||
|
|
||||||
|
:::note
|
||||||
|
If directly using this method to create [BrowserContext]s, it is best practice to explicilty close the returned context via [`method: BrowserContext.close`] when your code is done with the [BrowserContext],
|
||||||
|
and before calling [`method: Browser.close`]. This will ensure the `context` is closed gracefully and any artifacts—like HARs and videos—are fully flushed and saved.
|
||||||
|
:::
|
||||||
|
|
||||||
```js
|
```js
|
||||||
(async () => {
|
(async () => {
|
||||||
const browser = await playwright.firefox.launch(); // Or 'chromium' or 'webkit'.
|
const browser = await playwright.firefox.launch(); // Or 'chromium' or 'webkit'.
|
||||||
|
|
@ -164,6 +173,10 @@ Creates a new browser context. It won't share cookies/cache with other browser c
|
||||||
// Create a new page in a pristine context.
|
// Create a new page in a pristine context.
|
||||||
const page = await context.newPage();
|
const page = await context.newPage();
|
||||||
await page.goto('https://example.com');
|
await page.goto('https://example.com');
|
||||||
|
|
||||||
|
// Gracefully close up everything
|
||||||
|
await context.close();
|
||||||
|
await browser.close();
|
||||||
})();
|
})();
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -174,6 +187,10 @@ BrowserContext context = browser.newContext();
|
||||||
// Create a new page in a pristine context.
|
// Create a new page in a pristine context.
|
||||||
Page page = context.newPage();
|
Page page = context.newPage();
|
||||||
page.navigate('https://example.com');
|
page.navigate('https://example.com');
|
||||||
|
|
||||||
|
// Gracefull close up everything
|
||||||
|
context.close();
|
||||||
|
browser.close();
|
||||||
```
|
```
|
||||||
|
|
||||||
```python async
|
```python async
|
||||||
|
|
@ -183,6 +200,10 @@ context = await browser.new_context()
|
||||||
# create a new page in a pristine context.
|
# create a new page in a pristine context.
|
||||||
page = await context.new_page()
|
page = await context.new_page()
|
||||||
await page.goto("https://example.com")
|
await page.goto("https://example.com")
|
||||||
|
|
||||||
|
# gracefully close up everything
|
||||||
|
await context.close()
|
||||||
|
await browser.close()
|
||||||
```
|
```
|
||||||
|
|
||||||
```python sync
|
```python sync
|
||||||
|
|
@ -192,6 +213,10 @@ context = browser.new_context()
|
||||||
# create a new page in a pristine context.
|
# create a new page in a pristine context.
|
||||||
page = context.new_page()
|
page = context.new_page()
|
||||||
page.goto("https://example.com")
|
page.goto("https://example.com")
|
||||||
|
|
||||||
|
# gracefully close up everything
|
||||||
|
context.close()
|
||||||
|
browser.close()
|
||||||
```
|
```
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
|
|
@ -202,6 +227,10 @@ var context = await browser.NewContextAsync();
|
||||||
// Create a new page in a pristine context.
|
// Create a new page in a pristine context.
|
||||||
var page = await context.NewPageAsync(); ;
|
var page = await context.NewPageAsync(); ;
|
||||||
await page.GotoAsync("https://www.bing.com");
|
await page.GotoAsync("https://www.bing.com");
|
||||||
|
|
||||||
|
// Gracefully close up everything
|
||||||
|
await context.CloseAsync();
|
||||||
|
await browser.CloseAsync();
|
||||||
```
|
```
|
||||||
|
|
||||||
### option: Browser.newContext.-inline- = %%-shared-context-params-list-%%
|
### option: Browser.newContext.-inline- = %%-shared-context-params-list-%%
|
||||||
|
|
|
||||||
16
packages/playwright-core/types/types.d.ts
vendored
16
packages/playwright-core/types/types.d.ts
vendored
|
|
@ -13224,6 +13224,12 @@ export interface Browser extends EventEmitter {
|
||||||
* In case this browser is connected to, clears all created contexts belonging to this browser and disconnects from the
|
* In case this browser is connected to, clears all created contexts belonging to this browser and disconnects from the
|
||||||
* browser server.
|
* browser server.
|
||||||
*
|
*
|
||||||
|
* > NOTE: This is similar to force quitting the browser. Therefore, you should call
|
||||||
|
* [browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) on any
|
||||||
|
* [BrowserContext]'s you explicitly created earlier with
|
||||||
|
* [browser.newContext([options])](https://playwright.dev/docs/api/class-browser#browser-new-context) **before** calling
|
||||||
|
* [browser.close()](https://playwright.dev/docs/api/class-browser#browser-close).
|
||||||
|
*
|
||||||
* The [Browser] object itself is considered to be disposed and cannot be used anymore.
|
* The [Browser] object itself is considered to be disposed and cannot be used anymore.
|
||||||
*/
|
*/
|
||||||
close(): Promise<void>;
|
close(): Promise<void>;
|
||||||
|
|
@ -13257,6 +13263,12 @@ export interface Browser extends EventEmitter {
|
||||||
/**
|
/**
|
||||||
* Creates a new browser context. It won't share cookies/cache with other browser contexts.
|
* Creates a new browser context. It won't share cookies/cache with other browser contexts.
|
||||||
*
|
*
|
||||||
|
* > NOTE: If directly using this method to create [BrowserContext]s, it is best practice to explicilty close the returned
|
||||||
|
* context via [browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) when
|
||||||
|
* your code is done with the [BrowserContext], and before calling
|
||||||
|
* [browser.close()](https://playwright.dev/docs/api/class-browser#browser-close). This will ensure the `context` is closed
|
||||||
|
* gracefully and any artifacts—like HARs and videos—are fully flushed and saved.
|
||||||
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* (async () => {
|
* (async () => {
|
||||||
* const browser = await playwright.firefox.launch(); // Or 'chromium' or 'webkit'.
|
* const browser = await playwright.firefox.launch(); // Or 'chromium' or 'webkit'.
|
||||||
|
|
@ -13265,6 +13277,10 @@ export interface Browser extends EventEmitter {
|
||||||
* // Create a new page in a pristine context.
|
* // Create a new page in a pristine context.
|
||||||
* const page = await context.newPage();
|
* const page = await context.newPage();
|
||||||
* await page.goto('https://example.com');
|
* await page.goto('https://example.com');
|
||||||
|
*
|
||||||
|
* // Gracefully close up everything
|
||||||
|
* await context.close();
|
||||||
|
* await browser.close();
|
||||||
* })();
|
* })();
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue