获取 Lighthouse CLI 错误 - 使用批处理文件请求时无效 URL

Getting Lighthouse CLI Error - Invalid URL when using batch file to request

我有一个批处理文件:

@echo off
for /f "delims=" %%a in (C:\Users\yarrytroshchey\Lighthouse\Demo\urls.txt) 
DO (
ECHO Line is: %%a
lighthouse -output html –quiet –chrome-flags="–headless" %%a
) 

和一个 urls.txt 文件是:

https://www.bbc.co.uk
https://www.bbc.co.uk/sport
https://www.bbc.co.uk/sport/formula-1

我正在尝试 运行 通过 Google Lighthouse 对 txt 文件中列出的 URL 进行批量审核,但我遇到了错误 -

遇到运行时错误:lighthouse-core/lib/lh-error.js |网址无效 # 0 LHError:INVALID_URL 在灯塔 (C:\Users\yarrytroshchey\AppData\Roaming\npm\node_modules\lighthouse\lighthouse-core\index.js:44:11) 在 chromeP.then._(C:\Users\yarrytroshchey\AppData\Roaming\npm\node_modules\lighthouse\lighthouse-cli\run.js:191:12) 在 process._tickCallback (internal/process/next_tick.js:68:7)

我试过修改 URL 但没有成功。

它应该简单地 运行 每个 URL 通过灯塔并在同一文件夹中输出一份 HTML 报告。

您是否尝试过使用 -- 而不是 - 并且当您使用它时,将选项放在 最好用双引号 ,元变量:

@For /F "UseBackQ Delims=" %%A In ("C:\Users\yarrytroshchey\Lighthouse\Demo\urls.txt"
) Do @LightHouse "%%A" --quiet --chrome-flags="--headless"

我错过了 --output 选项,因为它是不必要的,因为 html 是默认值

我在使用 bash 脚本作为 Docker 的入口点时遇到了同样的问题。我确实使用 docker 运行 上的环境变量解决了这个问题,并将其指向脚本,而不是直接参数。

例如entry-point.sh文件:

#!/usr/bin/env bash
set -Eeo pipefail

lighthouse --no-enable-error-reporting --chrome-flags="--headless --disable-gpu" $URL --output json html

设置好后,您只需在下一个 docker 运行 中将“https://www.....”输入环境变量 URL .