使用 Chrome / Chromium headless 模式时如何获取地址栏?

How to take an Address Bar when using Chrome / Chromium headless mode?

当我使用 Google Chrome 或 Chromium 的 headless 模式截屏时,只需要 HTML Body.

$ chromium --headless --disable-gpu --screenshot --window-size=1280,1080 https://whosebug.com/

为了方便,我想用地址栏截图... 然后看到图就再也不会混淆了"Which URL did I take?".

使用 Chrome/Chromium headless 模式时,如何使用地址栏截屏?

Chrome headless 没有 UI 它只完成内存中渲染,然后在页面加载到缓冲区后用于提供屏幕截图。 所以没有办法让它脱离无头 chrome 功能。

但这是其他方式。例如,在 linux 上,您可以使用如下命令(ImageMagick 也应该在其他 OS 下工作):

convert screenshot.png -background black -fill white -splice 0x20 -annotate +15+15 'http://test.com' -gravity North -pointsize 30 screenshot2.png 

使用提供的文本向图像添加说明。 所以很容易将它包装成一个 shell 脚本。类似于:

#/bin/bash

url=

google-chrome --headless --disable-gpu --screenshot "$url"

current_time=$(date "+%Y.%m.%d-%H.%M.%S")
new_fileName=screenshot_$current_time.png

convert screenshot.png -background black -fill white -splice 0x20 -annotate +15+15 $url -gravity North -pointsize 30 $new_fileName

并将其用作./take_screenshot.sh http://google.com