class: BrowserFetcher
BrowserFetcher 可以下载和管理 Chromium 和 Firefox 的不同版本。
BrowserFetcher 对指定精确版本的 Chromium 的修订字符串进行操作,例如533271
。可以从 omahaproxy.appspot.com 获得修订字符串。
在 Firefox 的情况下,BrowserFetcher 将下载 Firefox Nightly,并在 75
等版本号上运行。
使用 BrowserFetcher 下载特定版本的 Chromium 并对其运行 Puppeteer 的示例:
const browserFetcher = puppeteer.createBrowserFetcher();
const revisionInfo = await browserFetcher.download('533271');
const browser = await puppeteer.launch({
executablePath: revisionInfo.executablePath
})
注意 BrowserFetcher 不能与其他浏览器同时使用
共享相同下载目录的 BrowserFetcher 实例。
browserFetcher.canDownload(revision)
revision
<[string]> 修订以检查可用性。- returns: <[Promise]<[boolean]>> 如果可以从主机下载
revision
,则返回true
。
该方法启动 HEAD 请求,以检查 revision
是否可用。
browserFetcher.download(revision[, progressCallback])
revision
<[string]> 要下载的修订版。progressCallback
<[function]([number], [number])> 一个带有两个参数的函数:downloadedBytes
<[number]> 已下载多少字节totalBytes
<[number]> 总下载量。
- returns: <[Promise]<[Object]>> 在下载和解压缩修订版时使用修订信息解决
revision
<[string]> 创建信息的版本folderPath
<[string]> 提取的修订文件夹的路径executablePath
<[string]> 修订版可执行文件的路径url
<[string]> 可以从此版本下载的 URLlocal
<[boolean]> 版本是否在磁盘上本地可用
该方法启动 GET 请求以从主机下载修订。
browserFetcher.host()
- returns: <[string]> 正在使用的下载主机。
browserFetcher.localRevisions()
- returns: <[Promise]<[Array]<[string]>>> 磁盘上可用的所有修订(针对当前
product
)的列表。
browserFetcher.platform()
- returns: <[string]>
mac
,linux
,win32
或win64
之一。
browserFetcher.product()
- returns: <[string]>
chrome
或firefox
之一。
browserFetcher.remove(revision)
revision
<[string]> 要为当前product
删除的修订版。如果尚未下载修订版,则该方法将引发。- returns: <[Promise]> 在删除修订版时解决。
browserFetcher.revisionInfo(revision)
revision
<[string]> 修订版,以获取其信息。- returns: <[Object]>
revision
<[string]> 创建信息的版本folderPath
<[string]> 提取的修订文件夹的路径executablePath
<[string]> 修订版可执行文件的路径url
<[string]> 可以从此版本下载的 URLlocal
<[boolean]> 版本是否在磁盘上本地可用product
<[string]>chrome
或firefox
之一
注意 许多 BrowserFetcher 方法,例如
remove
和revisionInfo
受product
的选择影响。请参见puppeteer.createBrowserFetcher([options])。
使用 BrowserFetcher 下载特定版本的 Chromium 并对其运行 Puppeteer 的示例:
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。