Chrome headless 立即以 --repl 标志退出

Kev*_*ock 6 google-chrome google-chrome-headless

我正在尝试使用 chrome.exe 无头 REPL,但它似乎立即退出。

我目前使用的是 Windows 7 Pro 64 位 Chrome 版本 72.0.3626.121

使用的命令:

$ chrome.exe --headless --disable-gpu --enable-logging --no-sandbox --repl https://www.chromestatus.com/
Run Code Online (Sandbox Code Playgroud)

结果

正如您在下面看到的,我几乎可以开始使用 REPL,除了没有>>>.

$ [0307/131904.237:INFO:headless_shell.cc(370)] Type a Javascript expression to evaluate or "quit" to exit.


Run Code Online (Sandbox Code Playgroud)

如果我要输入一个 javascript 表达式:

$ [0307/132502.083:INFO:headless_shell.cc(370)] Type a Javascript expression to evaluate or "quit" to exit.
const someNumber = 1
'const' is not recognized as an internal or external command,
operable program or batch file.
$
Run Code Online (Sandbox Code Playgroud)

看来 chrome 已经退出了。我已经在 cmd.exe、PowerShell 和 ConEmu 中尝试过,结果都一样。这是我第一次使用 chrome headless,所以如果答案很明显,我深表歉意。

Ten*_*ken -1

Chrome 的官方博客推荐了两种方法,用户可以使用两种方法来防止 chromium 在从命令行启动后退出。该博客在其说明中明确且反复提到了 Windows,因此我认为它们也适用于 Windows 版本的 Chrome:

  1. --remote-debugging-port=PORTNUM通过在命令行中传递启用远程调试来启动浏览器,或者
  2. --repl通过传递命令行以 REPL 模式启动 chrome 。只要 stdin 保持打开状态,这就会导致 chromium 持续存在。

我已经测试了这两种方法,并且可以证明这两种方法在撰写本文时都可以在 Linux 上使用 Chromium 108.0.5359.124。为了完整起见,我在下面包含了用于确认这一点的确切命令: