Skip to main content
Version: 23.10.1

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

cookies()

返回默认 BrowserContext 中的所有 cookie。

评论:

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

createBrowserContext(options)

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

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

defaultBrowserContext()

获取默认 浏览器上下文

评论:

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

deleteCookie(cookies)

从默认 BrowserContext 中删除 cookie。

评论:

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

disconnect()

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

isConnected()

deprecated

Puppeteer 是否连接到此 browser

已弃用:

使用 Browser.connected

newPage()

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

pages()

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

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

评论:

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

process()

获取关联的 ChildProcess

setCookie(cookies)

在默认 BrowserContext 中设置 cookie。

评论:

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

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>