diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 6ac7e941238..105a097bc7d 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -101,6 +101,14 @@ To run headless Chrome on Travis, you *must* call `launch()` with flags to disab const browser = await puppeteer.launch({args: ['--no-sandbox']}); ``` +Some Puppeteer functionality (like Chrome extensions) requires non-headless mode. Running Puppeteer in non-headless mode on Travis CI can be done using an [Xvfb](https://en.wikipedia.org/wiki/Xvfb) server: + +```yml +before_install: + - export DISPLAY=:99.0 + - sh -e /etc/init.d/xvfb start +``` + ## Running Puppeteer in Docker Getting headless Chrome up and running in Docker can be tricky. @@ -247,7 +255,7 @@ properly in some cases (e.g. in Docker). The Node.js runtime of the [App Engine standard environment](https://cloud.google.com/appengine/docs/standard/nodejs/) comes with all system packages needed to run Headless Chrome. -To use `puppeteer`, simply list the module as a dependency in your `package.json` and deploy to Google App Engine. Read more about using `puppeteer` on App Engine by following [the official tutorial](https://cloud.google.com/appengine/docs/standard/nodejs/using-headless-chrome-with-puppeteer). +To use `puppeteer`, simply list the module as a dependency in your `package.json` and deploy to Google App Engine. Read more about using `puppeteer` on App Engine by following [the official tutorial](https://cloud.google.com/appengine/docs/standard/nodejs/using-headless-chrome-with-puppeteer). ### Running Puppeteer on Google Cloud Functions