Skip to main content
Version: 23.8.0

Browser 类

¥Browser class

Browser 代表一个浏览器实例,它是:

¥Browser represents a browser instance that is either:

Browser emits 各种事件记录在 BrowserEvent 枚举中。

¥Browser emits various events which are documented in the BrowserEvent enum.

签名

¥Signature

export declare abstract class Browser extends EventEmitter<BrowserEvents>

Extends: EventEmitter<BrowserEvents>

备注

¥Remarks

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

¥The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the Browser class.

示例 1

¥Example 1

使用 Browser 创建

¥Using a Browser to create a 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

¥Example 2

Browser 断开连接并重新连接:

¥Disconnecting from and reconnecting to a 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();

属性

¥Properties

属性

修饰符

类型

描述

connected

readonly

boolean

Puppeteer 是否连接到此 browser

debugInfo

readonly

DebugInfo

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

评论:

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

方法

¥Methods

方法

修饰符

描述

browserContexts()

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

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

close()

关闭此 browser 和所有关联的 pages

createBrowserContext(options)

创建一个新的 浏览器上下文

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

defaultBrowserContext()

获取默认 浏览器上下文

评论:

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

disconnect()

断开 Puppeteer 与该 browser 的连接,但保持进程运行。

isConnected()

deprecated

Puppeteer 是否连接到此 browser

已弃用:

使用 Browser.connected

newPage()

默认浏览器上下文 中创建新的 page

pages()

获取此 Browser 内所有打开的 pages 的列表。

如果有多个 浏览器上下文,则返回所有 浏览器上下文 中的所有 pages

评论:

不可见的 pages,例如 "background_page",这里不会列出。你可以使用 Target.page() 找到它们。

process()

获取关联的 ChildProcess

target()

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

targets()

获取所有活动的 targets

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

userAgent()

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

Pages 可以使用 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()

获取用于连接到此 browser 的 WebSocket URL。

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

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

请参阅 浏览器端点 了解更多信息。

评论:

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