跳至主要內容
版本:23.11.1

瀏覽器管理

通常,您開始使用 Puppeteer 的方式是啟動 launch連接到瀏覽器。

啟動瀏覽器

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch();

const page = await browser.newPage();

// ...

關閉瀏覽器

要正常關閉瀏覽器,您可以使用 browser.close() 方法。

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch();

const page = await browser.newPage();

await browser.close();

瀏覽器內容

如果您需要隔離自動化任務,請使用 BrowserContexts。Cookie 和本機儲存空間不會在瀏覽器內容之間共享。此外,您可以透過關閉內容來關閉內容中的所有頁面。

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch();

const context = await browser.createBrowserContext();

const page1 = await context.newPage();
const page2 = await context.newPage();

await context.close();

權限

您也可以設定瀏覽器內容的權限。

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch();
const context = browser.defaultBrowserContext();

await context.overridePermissions('https://html5demos.com', ['geolocation']);

連線至執行中的瀏覽器

如果您在 Puppeteer 之外啟動了瀏覽器,可以使用 connect 方法連線到它。通常,您可以從瀏覽器的輸出中取得 WebSocket 端點 URL。

const browser = await puppeteer.connect({
browserWSEndpoint: 'ws://127.0.0.1:9222/...',
});

const page = await browser.newPage();

browser.disconnect();
注意

browser.close() 不同,browser.disconnect() 不會關閉瀏覽器或關閉任何頁面。