【发布时间】:2021-08-13 03:56:57
【问题描述】:
不确定我是做错了什么还是缺少配置设置,但是当我在 Chrome 扩展程序中运行 LH 时,我的页面收到 94,但是当我在节点 LH 中运行同一页面时,我得到了 88。我想将其作为台式机与移动设备运行,但我不确定要获得相同或更相似的分数,我还缺少什么。
我当前的代码
const chrome = await chromeLauncher.launch({chromeFlags: ['--headless']});
const options = {logLevel: 'info', output: 'html', onlyCategories: ['accessibility'], port: chrome.port};
// emulatedFormFactor:'desktop'
const config = { extends: 'lighthouse:default', settings: {formFactor: 'desktop', screenEmulation:{mobile:false}} }
const runnerResult = await lighthouse(, options, config);
我预计两者之间会略有不同,但我认为 6 分有点戏剧性。我注意到两者之间的油门速率不同,但不确定如何更改设置或配置。
右图为Chrome浏览器,左图为节点保存页面
【问题讨论】:
-
您是否扩展了 Chrome 浏览器中的“按钮没有可访问的名称”错误?这就是分数差异的来源,但在不知道它指向什么元素的情况下,我们无能为力提供任何帮助。
-
其实我有一个有根据的猜测——我想你在手机上的菜单按钮只是一个汉堡包图标,对吗?
-
好收获!汉堡菜单仅在移动设备中显示,这应该用于测试桌面。我是否在我的配置中遗漏了一些它不会测试桌面的东西,尽管它说它是?
-
很难说为什么它在运行移动版本,我唯一能想到的就是你的屏幕太小(太窄)或者在主浏览器设置中打开了移动仿真(开发工具的左上角),因为它仍然会尊重桌面版本上的正常响应设置。当您运行它时,您会看到站点的哪个断点?奇怪的是,您也有与移动应用相同的限制(CPU 减速和网络限制 - 您是否在性能选项卡中设置了这些?)。
-
正如您在代码中看到的,我运行的是无头节点版本,因此没有浏览器或性能选项卡。我正在寻找是否有人可以查看我的设置,并让我知道我是否遗漏了一些东西来模拟桌面并管理代码中的节流。
标签: javascript node.js lighthouse