0

puppeteer を使用しようとしています (具体的には、遅れてスクリーンショットを撮るためですが、私の問題はそれよりも基本的なものです)

https://github.com/GoogleChrome/puppeteer

次のコマンドを正常に実行しました。

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

ドキュメントには次のように書かれています

Puppeteer は、他のブラウザー テスト フレームワークを使用している人々には馴染み深いものです。Browser のインスタンスを作成し、ページを開いて、Puppeteer の API で操作します。

残念ながら、私は他のブラウザー テスト フレームワークに精通しておらず、「ブラウザーのインスタンスを作成する」という意味がわかりません。

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.js にあまり詳しくないので途方に暮れています。

  • を呼び出しnode examples/screenshot.jsましたが、端末からフィードバックがなく、指定したパスにイメージが作成されません。権限は正しいです。

  • 私も最初に電話してみnode install.jsました。

  • ターミナルでスクリプトをインラインで直接実行しようとしましたが、ターミナルで「予期しないトークン (」が表示されます。

  • ブラウザで実行してみました。明らかにそれはうまくいきませんでした。

puppeteer コードを実行するにはどうすればよいですか?

4

1 に答える 1

1

apt 経由でインストールした node.js バージョンは、おそらくかなり古い/安定しています。

puppeteer には、async/await 関数をサポートする新しい node.js (7.6+) が必要です。執筆時点での簡単なインストール方法は次のとおりです: https://nodejs.org/en/download/package-manager/#debian-および-ubuntu ベースの Linux ディストリビューション

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

次に、実際にコマンドを発行してサンプル スクリプトを実行します。

node examples/screenshot.js

スクリーンショットは、ytou がコマンドを実行したディレクトリにあるはずです。

于 2017-10-19T06:06:56.490 に答える