NodeJS 如何检测版本的 chrome 使用 puppet ?

dl5txlt9  于 2022-12-18  发布在  Node.js
关注(0)|答案(6)|浏览(446)

我读到puppeteer使用了最新版本的chrome,我在哪里可以找到它使用的是哪个版本
我不想访问窗口上的导航对象来获取它。基本上没有什么运行时。只是想知道 puppet 师作为一个包是否列出了它的依赖关系
基本上,我想看看所有的CSS和JavaScript支持,我可以假设有从其他网站一样,'我可以使用'或 chrome 参考。

hof1towb

hof1towb1#

使用browser.version()函数在运行时查找所使用的版本。
如果您有page对象,则可以按如下方式使用它:

const version = await page.browser().version();

要找出哪个 chrome 版本是捆绑与 puppet 师版本没有开始,你应该检查出发行说明,总是有一个关于 chrome 版本的一节是使用。

示例(摘自v1.14.0的发行说明):

大变化

  • chrome 75.0.3738.0(编号641577)
mkshixfv

mkshixfv2#

如果您位于项目的根目录(与node_modules目录处于同一级别),则可以在node中运行此命令

(async()=>{const x = require("puppeteer"); console.log(await(await(await x.launch()).newPage()).browser().version())})()

我的搜索结果:> HeadlessChrome/91.0.4469.0
我发现这种方法更容易,因为您可以在服务器上运行它,而无需进行文件操作。
(This答案假设您不能使用顶级异步等待,但即使您可以,这也可以工作)

insrf1ej

insrf1ej3#

在node的最新版本中,上述代码返回一个promise对象。
您需要执行类似以下操作才能获取浏览器版本

await page.browser().version().then(function(version) {
console.log(version);
});

应该打印类似HeadlessChrome/84.0.4143.2的内容

kyvafyod

kyvafyod4#

这里是另一种方法来检查什么是 chrome 版本Puppeteer使用:
1.在node_modules/puppeteer中打开revisions.js文件。您可以使用shell命令:
find ./node_modules -regex ".*puppeteer.*revisions.js" | head -n 1 | xargs cat
1.复制Chromium版本号“901912”。
1.转到https://omahaproxy.appspot.com/
1.将r901912格式的修订版本号插入“查找版本”并提交

1.之后,您将看到与Puppeteer

捆绑在一起的Chromium版本

yuvru6vn

yuvru6vn5#

Quick and dirty bash脚本通常在Puppeteer docs中的一个或两个补丁版本中获取Chromium版本号:

PUPPETEER_VERSION=$(node -p "require('puppeteer-core/package.json').version"); \
CHROME_REVISION=$(node -e "const revisions = require('./node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.js'); console.log(revisions.PUPPETEER_REVISIONS.chromium)"); \
REVISION_URL=$(curl -Ls -o /dev/null -w %{url_effective} http://crrev.com/$CHROME_REVISION); \
CHROME_VERSION=$(curl --silent "$REVISION_URL/chrome/VERSION?format=TEXT" | base64 --decode); \
CHROME_VERSION="${CHROME_VERSION//$'\n'/\.}"; \
CHROME_VERSION="${CHROME_VERSION//[!\.0-9]/}"; \
echo "Chromium $CHROME_VERSION - Puppeteer v$PUPPETEER_VERSION";

需要在包含node_modules的同一目录中运行-并且您需要puppeteer-core已经存在于node_modules中。
我玩这个设置使用 puppet 师核心,所以没有 chrome 安装能力的 puppet 师适当。

2q5ifsrm

2q5ifsrm6#

另一种通过命令获取puppeteer版本的方法,并检查https://www.npmjs.com/package/puppeteer中安装的puppeteer支持的chrome版本

cat <puppeteer_dir>/package.json | grep "\"version\":"

对我来说, puppet 师目录= /home/packages/node_modules/puppeteer
结果为"version": "5.3.1",受支持的Chrome版本为chrome-85

相关问题