Google chrome 无法在Ubuntu桌面上使用Chromium的无头模式使用--屏幕截图或--打印为pdf
我正在使用Chrome和Chrome的无头版本对给定页面进行截图。 它在Windows和Ubuntu服务器上运行良好,但在Ubuntu桌面虚拟机上不起作用 当我尝试拍摄屏幕截图(Google chrome 无法在Ubuntu桌面上使用Chromium的无头模式使用--屏幕截图或--打印为pdf,google-chrome,ubuntu,chromium,headless,google-chrome-headless,Google Chrome,Ubuntu,Chromium,Headless,Google Chrome Headless,我正在使用Chrome和Chrome的无头版本对给定页面进行截图。 它在Windows和Ubuntu服务器上运行良好,但在Ubuntu桌面虚拟机上不起作用 当我尝试拍摄屏幕截图(--screenshot标志)或生成PDF文件(--print to PDF标志)时,在Ubuntu桌面上出现错误“只有启用远程调试时才支持打开多个选项卡” 我可以使用--远程调试端口标志启用远程调试,但启用后,您不能使用--屏幕截图标志或--打印到pdf标志 有没有关于如何在Ubuntu桌面上使用这些标志的想法 细节
--screenshot
标志)或生成PDF文件(--print to PDF
标志)时,在Ubuntu桌面上出现错误“只有启用远程调试时才支持打开多个选项卡”
我可以使用--远程调试端口
标志启用远程调试,但启用后,您不能使用--屏幕截图
标志或--打印到pdf
标志
有没有关于如何在Ubuntu桌面上使用这些标志的想法
细节
在窗户上
版本:谷歌浏览器版本84.0.4147.125 使用的命令:
>启动chrome--无头--屏幕截图=%CD%\example\u sh.pnghttps://example.com/
注意:您必须在windows上提供屏幕截图的路径,否则它将不会创建文件,这就是我仅在windows上添加%CD%\
的原因。但这不是问题所在
命令输出:没有 生成的文件:
是
在Ubuntu服务器上
版本:
$ chromium-browser --version
Chromium 84.0.4147.105 Built on Ubuntu , running on Ubuntu 18.04
$ chromium-browser --version
Chromium 84.0.4147.105 snap
使用的命令:$chromium浏览器--无头--屏幕截图=示例\u sh.pnghttps://example.com/
命令输出:[0812/102830.971006:INFO:headless_shell.cc(615)]写入文件example_sh.png。
生成的文件:是
在Ubuntu桌面上
版本:
$ chromium-browser --version
Chromium 84.0.4147.105 Built on Ubuntu , running on Ubuntu 18.04
$ chromium-browser --version
Chromium 84.0.4147.105 snap
使用的命令:$chromium浏览器--无头--屏幕截图=示例\u sh.pnghttps://example.com/
命令输出:[0812/123941.367535:错误:headless_shell.cc(174)]只有在启用远程调试时才支持打开多个选项卡。
生成的文件:否
请注意,由替换.deb包组成的解决方案不是我想要的。如果我是唯一一个使用这些标志的人,这可能是一个很好的解决方法,但这不是一个解决方案,因为我在与其他人共享的库的某个代码中使用它们调用命令。我建议:
chromium浏览器https://example.com/
或者如果失败,只需chromium浏览器
chrome://version
在此新会话的选项卡中,注意命令行和可执行路径
--headless
命令。如果原因是来自包装器,那么这应该有效,如果不是,则以交互方式使用该二进制文件,请查看chrome://version ->命令行。如果损坏源于编译后注入到自己的命令行中的内容,那么可能没有一个好的解决方法
chromium浏览器https://example.com/
或者如果失败,只需chromium浏览器
chrome://version
在此新会话的选项卡中,注意命令行和可执行路径
--headless
命令。如果原因是来自包装器,那么这应该有效,如果不是,则以交互方式使用该二进制文件,请查看chrome://version ->命令行。如果损坏源于编译后注入到自己的命令行中的内容,那么可能没有一个好的解决方法
我已经打开了一个关于这个错误的窗口,但是我仍然不确定这是否是一个错误。我的项目因为这个问题而陷入僵局,所以如果有人能提供解决方案,我就悬赏这个问题。我觉得chromium浏览器的别名/包装方式让它看起来像有两个非“-”参数,所以它认为您需要一个额外的页面以及example.com,如果你忽略了网站,它可能会运行,你会得到一个自定义起始页的图像或其他什么?@lossleader确实,如果忽略了网站,它会运行并生成一个空白图像(只有默认大小的白色背景)。我已经打开了一个关于此错误的窗口,但我仍然不确定这是否是一个错误。我的项目因为这个问题而陷入僵局,所以如果有人能提供解决方案,我就悬赏这个问题。我觉得chromium浏览器的别名/包装方式让它看起来像有两个非“-”参数,所以它认为您需要一个额外的页面以及example.com,如果你忽略了网站,它可能会运行,你会得到一个自定义起始页的图像或其他什么?@lossleader确实,如果忽略了网站,它会运行并生成一个空白图像(只有默认大小的白色背景)。非常感谢你的回答<代码>可执行路径是解决方案的关键。使用它而不是
chromium
或chromium browser
命令不会导致任何错误。屏幕上显示的可执行路径chrome://version 页面为/snap/chromium/1260/usr/lib/chromium浏览