5

有没有人使用 Google Chrome Lighthouse的 Node CLI 版本来自动化网站审核过程?(我对可访问性审计最感兴趣,但我认为这个问题没有那个警告)。

我想知道是否有办法将其设置为抓取整个网站,而不仅仅是页面,如果您使用 Lighthouse 或任何类似的审计应用程序完成了此操作,您能否分享一些提示或示例?

如果您还没有,当我们在我们的组织中发现它时,人们会对此感兴趣吗?

4

3 回答 3

0

当然!

我们使用它来将我们的网站与竞争对手进行比较,使用一个非常简单的 nodejs 应用程序,运行分析然后将结果存储到 elasticsearch 中,最后我们使用 kibana 进行数据可视化。

这里的代码源:https ://github.com/ebuildy/lighthouse-urls-bench/

灯塔部分在这里https://github.com/ebuildy/lighthouse-urls-bench/blob/main/src/runnerLighthouse.mjs

import lighthouse from 'lighthouse'
import chromeLauncher from 'chrome-launcher'

const runnerResult = await lighthouse(urlToCrawl, lhOptions, lhConfig)

// transform results, keep only valid audits
const auditsList = Object
        .values(runnerResult.lhr.audits)
        .filter(audit => {
            return typeof audit.numericValue != 'undefined'
        }).map(audit => {
            return {
                id: audit.id,
                title: audit.title,
                numericValue: audit.numericValue,
                numericUnit: audit.numericUnit,
                displayValue: audit.displayValue
            }
        })

await store({
        '@timestamp' : new Date(),
        device: {
            type: 'desktop'
        },
       url : urlToCrawl,
        auditsList
    })
于 2021-12-30T17:20:33.470 回答
0

您可以使用本文中建议的方法

您可以在配置文件中添加更多 URL 来抓取所有网站页面。您还可以从 BigQuery 中的所有测试结果中提取平均值,以获取所有网站页面的摘要。

于 2019-01-15T14:32:52.833 回答
0

FWIW 我创建了一个 Python 脚本,它将 Lighthouse 4 JSON 审计文件转换为通用日志格式,并在每次运行时附加结果。

https://gist.github.com/joelhsmith/c36ad701d5d9beb598962dc62cc3d2df

  • 下一部分是让它定期运行。为此,我让它在 Docker 容器中运行。

  • 然后分析日志。我们将它们发送到 Splunk。我在 Splunk 中做到了这一点并取得了一些成功。搜索查询是史诗般的。它还允许我们制作一些非常漂亮的仪表板可视化。现在尝试在 Kibana 中做同样的事情。

  • 然后,我在 Splunk 中设置了分数变化时的电子邮件警报。

如果将来有人希望以此为基础,希望这会有所帮助。我没有像我想要的那样好的整个解决方案,但是如果你想要更多细节,请随时联系我,未来的人类。

我认为@tzam 的帖子也将是其中一些很酷的选择。

于 2019-01-18T22:12:17.117 回答