如何 运行 Google Chrome Headless Puppeteer 代码

How to run Google Chrome Headless Puppeteer code

我正在尝试使用 puppeteer(特别是 take a screenshot after a delay,但我的问题比这更基本)

https://github.com/GoogleChrome/puppeteer

我已经 运行 成功执行了以下命令。

sudo apt-get install npm
sudo apt-get install node
npm i puppeteer

文档说明如下

Puppeteer will be familiar to people using other browser testing frameworks. You create an instance of Browser, open pages, and then manipulate them with Puppeteer's API.

很遗憾,我对其他浏览器测试框架不熟悉,也不知道"create an instance of Browser"是什么意思。

我看到了 examples/screenshot.js 文件。它包含以下内容。

'use strict';

const puppeteer = require('puppeteer');

(async() => {

const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('http://example.com');
await page.screenshot({path: 'example.png'});

await browser.close();

})();

我没有在任何自述文件、文档或问答中看到关于如何 运行 此代码的提及。一切似乎都假设这一步是显而易见的,它可能是但我很茫然,因为我对 Node 不是很熟悉。

如何 运行 人偶代码?

您通过 apt 安装的

node.js 版本可能是 older/stable。

puppeteer 需要支持 async/await 功能的较新的 node.js (7.6+),在撰写本文时,这里有一个简单的安装方法:https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

然后您确实 运行 通过发出命令

示例脚本
node examples/screenshot.js

屏幕截图应该在 ytou 运行 命令所在的目录中。