跳至主要内容
版本:22.5.0

浏览器类

浏览器 代表一个浏览器实例,它要么

浏览器 发出 各种事件,这些事件在 BrowserEvent 枚举中有所记录。

签名:

export declare abstract class Browser extends EventEmitter<BrowserEvents>

扩展: 事件发射器<浏览器事件>

备注

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

示例 1

使用 浏览器 创建 页面

import puppeteer from 'puppeteer';

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

示例 2

断开与 浏览器 的连接并重新连接

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只读布尔值Puppeteer 是否已连接到此 浏览器
debugInfo只读DebugInfo从 Puppeteer 获取调试信息。

方法

方法修饰符描述
browserContexts()

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

在新建的 浏览器 中,这将返回 浏览器上下文 的单个实例。

close()关闭此 浏览器 及其所有关联的 页面
createBrowserContext(options)

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

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

defaultBrowserContext()获取默认的 浏览器上下文
disconnect()断开 Puppeteer 与此 浏览器 的连接,但保持进程运行。
isConnected()Puppeteer 是否已连接到此 浏览器
newPage()默认浏览器上下文 中创建一个新的 页面
pages()

获取此 浏览器 中所有打开的 页面 的列表。

如果存在多个 浏览器上下文,则返回所有 浏览器上下文 中的所有 页面

process()获取关联的 子进程
target()获取与 默认浏览器上下文 关联的 目标
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 匹配的 目标 出现,并返回它。

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

wsEndpoint()

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

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

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

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