我正在尝试使用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代码?
答案 0 :(得分:1)
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
,屏幕截图应该在你运行命令的目录中。