我在 Linux 中通过 Selenium 使用 Chrome 时遇到以下错误:
ERROR:browser_main_loop.cc(1512)] Unable to open X display.
ERROR:nacl_helper_linux.cc(308)] NaCl helper process running without a sandbox!
您对以下错误有解决方案吗?
最佳答案
此错误消息...
ERROR:nacl_helper_linux.cc(308)] NaCl helper process running without a sandbox!
...意味着您系统中的沙箱的setuid未配置,因此程序无法启动/生成新的浏览上下文,即Chrome浏览器 session 。
<小时/>解决方案
一个快速的解决方案是,如果您想运行 Chrome 并且仅使用 namespace 沙箱,您可以设置标志:
--disable-setuid-sandbox
此标志将禁用 setuid 沙箱(仅限 Linux)。但如果您在没有适当内核支持命名空间沙箱的主机上执行此操作,Chrome 将无法启动。作为替代方案,您还可以使用该标志:
--no-sandbox
此标志将为所有通常沙箱的进程类型禁用沙箱。
示例:
chromeOptions: {
args: ['--disable-setuid-sandbox', '--no-sandbox']
},
关于linux - 在 Linux 中使用 Chrome 通过 Selenium 运行 NaCl 辅助进程,不会出现沙箱错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60544974/