如何运行Google Chrome Headless Puppeteer代码

时间:2017-10-18 17:57:33

标签: javascript node.js google-chrome google-chrome-headless puppeteer

我正在尝试使用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   构架。您创建一个浏览器实例,打开页面,然后   用Puppeteer的API操纵它们。

不幸的是,我不熟悉其他浏览器测试框架,我不知道它们是什么意思"创建一个浏览器实例#34;。

我看到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();

})();

我没有在任何README,文档或Q& A中看到如何运行此代码。一切似乎都假设这一步很明显,可能是因为我对Node并不十分熟悉,但我感到茫然。

  • 我已拨打node examples/screenshot.js,但终端没有 提供任何反馈,图像不会在我指定的任何路径中创建。 权限是正确的。

  • 我也尝试先调用node install.js

  • 我已尝试直接在终端中内联运行脚本,但是 这给了"意外的令牌("在终端。

  • 我甚至尝试在浏览器中运行它。显然没有 工作

如何运行puppeteer代码?

1 个答案:

答案 0 :(得分:1)

你通过apt安装的node.js版本可能比较旧/稳定。

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

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