#node.js #linux #ubuntu #debian #puppeteer
#node.js #linux #ubuntu #debian #кукловод
Вопрос:
- Предустановленный Puppeteer chromium вообще не работал, поэтому я установил ubuntu один за
apt install chromium-browser
другим и изменил путь к исполняемому файлу на usr / bin / chromium-browser - Теперь puppeteer не выдает никаких ошибок, но я получаю эту:
[935270:935270:1222/220755.094434: ОШИБКА: browser_main_loop.cc(1434)] Не удается открыть X display.
Я перепробовал все, что я видел на форумах, но не сработало.
Ответ №1:
Я просто предполагаю, что вы выполняете это только на терминале Ubuntu? В моем случае это была подсистема Ubuntu Windows для Linux.
Как обычно, когда у вас есть решение, проблема в основном заключается в том, что говорится в ошибке. Нет отображения.
Unable to open X display.
Для этого есть решение под названием X virtual framebuffer или xvfb. https://en.wikipedia.org/wiki/Xvfb
Насколько я понимаю, он нацелен на то, чтобы выступать в качестве дисплея для всех целей клиента, но не виден пользователю.
Итак, одним из решений возникшей у меня проблемы было установить xvfb, а затем запустить команду, требующую отображения с помощью этого инструмента. В моем случае это был транспортир, но команда puppeteer должна выглядеть аналогично:
sudo apt-get install xvfb
xvfb-run --auto-servernum npm run protractor
PS. Меня вдохновила эта запись в блоге https://remarkablemark.org/blog/2020/12/12/headless-test-in-github-actions-workflow /