文档首页 > > 移植指南> 移植Puppeteer

移植Puppeteer

分享
更新时间:2020/08/06 GMT+08:00

介绍

简要介绍

Puppeteer是一个Node库,它提供一个高级API来通过DevTools协议控制Chromium或Chrom。Puppeteer默认以headless模式运行,但可以通过修改配置文件运行“有头”模式。

开发语言:JavaScript

一句话描述:控制Chromium或Chrom的Node库。

开源协议:Apache License 2.0

建议的版本

根据实际需要选择版本,本文档以“puppeteer v3.0”为例进行说明。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表1所示。

表1 云服务器配置

项目

说明

规格

kc1.large.2 | 4vCPUs | 8GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

说明

下载地址

Debian

10.2.0

在公共镜像中已提供。

Kernel

4.19.0

在公共镜像中已提供。

配置编译环境

  1. 安装依赖。

    apt-get install -y libasound2 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libgcc1 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libuuid1 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 xdg-utils

  2. 安装NodeJs14.4.0,参考https://support.huaweicloud.com/prtg-hdp-kunpengbds/kunpengambarihdp_02_0007.html
  3. 安装chromium。

    cd /opt

    wget http://launchpadlibrarian.net/433548138/chromium-codecs-ffmpeg-extra_75.0.3770.142-0ubuntu0.18.04.1_arm64.deb

    wget http://launchpadlibrarian.net/433548135/chromium-browser_75.0.3770.142-0ubuntu0.18.04.1_arm64.deb

    dpkg -i chromium-codecs-ffmpeg-extra_75.0.3770.142-0ubuntu0.18.04.1_arm64.deb

    dpkg -i chromium-browser_75.0.3770.142-0ubuntu0.18.04.1_arm64.deb

编译和安装

安装Puppeteer。

在执行npm init的过程中,会提示输入相关的信息。可根据提示和实际需要,输入自定义的参数值,或直接按回车键保持默认配置。

mkdir -p /opt/tools && cd /opt/tools

npm init

npm i --save puppeteer@3.3.0 --ignore-scripts

运行和验证

  1. 编写“test.js”脚本。

    cd ./node_modules/puppeteer

    vim test.js

    “test.js”中编辑如下类容:
    const puppeteer = require('puppeteer');
    (async () =>{
       const browser = await puppeteer.launch({
            headless : true,
    	args : ["--no-sandbox"],
    	executablePath : "/usr/bin/chromium-browser"   
       })
       const page = await browser.newPage()
       await page.goto('https://www.huaweicloud.com/')
       await page.screenshot({
         path : '/root/test.png'
       })	
    })()

  2. 执行测试脚本。

    node test.js

    执行成功后会在“/root”目录下生成“test.png”文件。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问