跳至主要内容
版本:23.11.1

浏览器类

Browser 代表一个浏览器实例,该实例可以通过 Puppeteer.connect() 连接,或者通过 PuppeteerNode.launch() 启动。

Browser 发出BrowserEvent 枚举中记录的各种事件。

签名

export declare abstract class Browser extends EventEmitter<BrowserEvents>

继承自: EventEmitter<BrowserEvents>

备注

此类的构造函数标记为内部函数。第三方代码不应直接调用构造函数或创建扩展 Browser 类的子类。

示例 1

使用 Browser 创建 Page

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await browser.close();

示例 2

断开连接和重新连接到 Browser

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch();
// Store the endpoint to be able to reconnect to the browser.
const browserWSEndpoint = browser.wsEndpoint();
// Disconnect puppeteer from the browser.
await browser.disconnect();

// Use the endpoint to reestablish a connection
const browser2 = await puppeteer.connect({browserWSEndpoint});
// Close the browser.
await browser2.close();

属性

属性

修饰符

类型

描述

connected

只读

boolean

Puppeteer 是否已连接到此 browser

debugInfo

只读

DebugInfo

(实验性) 从 Puppeteer 获取调试信息。

备注

目前,包括挂起的协议调用。将来,我们可能会添加更多信息。

方法

方法

修饰符

描述

browserContexts()

获取打开的 浏览器上下文 的列表。

在新建的 browser 中,这将返回 BrowserContext 的单个实例。

close()

关闭此 浏览器 和所有关联的 页面

cookies()

返回默认 BrowserContext 中的所有 Cookie。

备注

browser.defaultBrowserContext().cookies() 的快捷方式。

createBrowserContext(options)

创建新的 浏览器上下文

这不会与其他 浏览器上下文 共享 Cookie/缓存。

defaultBrowserContext()

获取默认的 浏览器上下文

备注

无法关闭默认的 浏览器上下文

deleteCookie(cookies)

从默认的 BrowserContext 中删除 Cookie。

备注

browser.defaultBrowserContext().deleteCookie() 的快捷方式。

disconnect()

断开 Puppeteer 与此 浏览器 的连接,但保持进程运行。

isConnected()

已弃用

Puppeteer 是否已连接到此 browser

已弃用

请使用 Browser.connected

newPage()

默认浏览器上下文 中创建一个新的 页面

pages()

获取此 Browser 中所有打开的 页面 的列表。

如果有多个 浏览器上下文,则此方法将返回所有 浏览器上下文 中的所有 页面

备注

不可见的 页面(如 "background_page")将不会在此处列出。您可以使用 Target.page() 查找它们。

process()

获取关联的 ChildProcess

setCookie(cookies)

在默认的 BrowserContext 中设置 Cookie。

备注

browser.defaultBrowserContext().setCookie() 的快捷方式。

target()

获取与 默认浏览器上下文 关联的 target

targets()

获取所有活动的 targets

如果有多个 浏览器上下文,则此方法将返回所有 浏览器上下文 中的所有 targets

userAgent()

获取此 浏览器 的原始用户代理。

页面 可以使用 Page.setUserAgent() 覆盖用户代理。

version()

获取一个字符串,表示此 浏览器 的名称和版本。

对于无头浏览器,这类似于 "HeadlessChrome/61.0.3153.0"。对于非无头或新的无头浏览器,这类似于 "Chrome/61.0.3153.0"。对于 Firefox,它类似于 "Firefox/116.0a1"

Browser.version() 的格式可能会随着浏览器未来版本的发布而更改。

waitForTarget(predicate, options)

等待直到出现与给定 predicate 匹配的 target 并返回它。

这将查找所有打开的 浏览器上下文

wsEndpoint()

获取用于连接到此 浏览器 的 WebSocket URL。

这通常与 Puppeteer.connect() 一起使用。

您可以从 http://HOST:PORT/json/version 中找到调试器 URL (webSocketDebuggerUrl)。

有关更多信息,请参阅 浏览器端点

备注

格式始终为 ws://HOST:PORT/devtools/browser/<id>