Puppeteer - 铬 | 无法打开 X 显示 | 乌班图20.04

Gou*_*rik 1 linux ubuntu debian node.js puppeteer

  1. Puppeteer 预装的 chromium 根本不起作用,所以我依次安装了 ubuntu 并将apt install chromium-browser可执行路径更改为usr/bin/chromium-browser

  2. 现在,puppeteer 不会抛出任何错误,但我得到了这个错误:

    [935270:935270:1222/220755.094434:ERROR:browser_main_loop.cc(1434)] 无法打开 X 显示。

我尝试了论坛上的所有红色内容,但没有成功。

小智 7

我只是假设你只在 Ubuntu 终端上执行这个?就我而言,它是 Linux 的 Ubuntu Windows 子系统。

像往常一样,当你有了解决方案时,问题主要是错误所说的。没有显示。

Unable to open X display.
Run Code Online (Sandbox Code Playgroud)

有一个解决方案称为 X 虚拟帧缓冲区或 xvfb。https://en.wikipedia.org/wiki/Xvfb

据我理解,它的目的是作为客户端所有意图的显示,但对用户来说是不可见的。

因此,解决我遇到的问题的一种方法是安装 xvfb,然后运行需要使用此工具进行显示的命令。就我而言,它是量角器,但 pupeteer 命令看起来应该类似:

sudo apt-get install xvfb 
xvfb-run --auto-servernum npm run protractor
Run Code Online (Sandbox Code Playgroud)

附言。我受到这篇博客文章的启发https://remarkablemark.org/blog/2020/12/12/headless-test-in-github-actions-workflow/