当我告诉 Chromium headless 转储 DOM 时,为什么它不转储 DOM?

5 google-chrome headless chromium

这正是我所做的:

  1. 我访问https://download-chromium.appspot.com/并单击了按钮。
  2. 我运行了该文件(奇怪地称为 chrome-win.exe,而不是 Chromium.exe)。
  3. 我进入其安装目录并在其中打开一个 cmd.exe。
  4. 我运行了命令:

    chrome.exe --headless --dump-dom " https://www.example.com/ "

根据手册,这应该打开该 URL ,并在执行 JavaScript 后将 DOM 作为文本转储到标准输出,cmd.exe在本例中意味着 。

问题:什么也没发生。从字面上看根本没有输出。我唯一可以告诉发生的事情(这纯粹是巧合)是chrome_debug.txt在同一目录中创建了一个名为的文件,其内容如下: [0712/065333.417:ERROR:browser_process_sub_thread.cc(203)] 等待网络服务 5 毫秒

如果我改为运行命令:

chrome.exe "https://www.example.com/"
Run Code Online (Sandbox Code Playgroud)

它会打开浏览器并转到该 URL(如预期)。因此,这并不是我的互联网连接或计算机的根本问题。

我究竟做错了什么?

Elo*_*ltz 4

您可能想尝试通过将标志添加到命令行来启用日志记录。--enable-logging

此外,尽管根据此错误报告,这不再是必要的,但添加该--disable-gpu标志以防止 GPU 错误显示在标准输出中可能是明智之举。

最终的命令行应该如下所示:

chrome.exe --headless --enable-logging --disable-gpu --dump-dom "https://www.example.com/""
Run Code Online (Sandbox Code Playgroud)

它成功返回 chromium 76.0.3809.87 上 www.example.com/ 的 DOM。