Ubuntu Puppeteerのインストール

2238 ワード

いくつかの阿里雲の特恵リンクの金券/高性能サーバーの2割引/高性能サーバーの5割引を放します

puppeteerの追加

npm i --save puppeteer
  • インストール時に国内外のネットの遮蔽のためダウンロードの失敗が現れる
  • ERROR: Failed to download Chromium r515411! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download. 
    

    国内ミラーで解決できる、参考
    npm config set puppeteer_download_host=https://npm.taobao.org/mirrors
    npm i puppeteer
    
  • 実行Error:Failed to launch chrome
  • (node:11679) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Failed to launch chrome!
    /home/ss/test_work/gp/node_modules/puppeteer/.local-chromium/linux-579032/chrome-linux/chrome: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory
    
    
    TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md
    
    (node:11679) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
    
    

    政府は現在、解決方法を示しており、参考にしています.
    インストールに欠けている依存、以下にリストされている依存、aptでインストールできます
    gconf-service
    libasound2
    libatk1.0-0
    libatk-bridge2.0-0
    libc6
    libcairo2
    libcups2
    libdbus-1-3
    libexpat1
    libfontconfig1
    libgcc1
    libgconf-2-4
    libgdk-pixbuf2.0-0
    libglib2.0-0
    libgtk-3-0
    libnspr4
    libpango-1.0-0
    libpangocairo-1.0-0
    libstdc++6
    libx11-6
    libx11-xcb1
    libxcb1
    libxcomposite1
    libxcursor1
    libxdamage1
    libxext6
    libxfixes3
    libxi6
    libxrandr2
    libxrender1
    libxss1
    libxtst6
    ca-certificates
    fonts-liberation
    libappindicator1
    libnss3
    lsb-release
    xdg-utils
    wget
    
  • args
  • を設定
    const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
    
  • のインストールが終了すると、実行例は、未画像スナップショット
  • をWebページに保存することができる.
    const puppeteer = require('puppeteer');
    
    (async () => {
      const browser = await puppeteer.launch();
      const page = await browser.newPage();
      await page.goto('https://example.com');
      await page.screenshot({path: 'example.png'});
    
      await browser.close();
    })();