Ubuntu 설치 Puppeteer

2210 단어 개발 노트
Arison의 할인 링크 쿠폰/고성능 서버 2 할인/고성능 서버 50% 할인
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']});
    
  • 설치 완료, 실행 예시에서 웹 페이지를 비사진 스냅샷으로 저장할 수 있음
  • 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();
    })();
    

    좋은 웹페이지 즐겨찾기