npm i puppeteer
Documentation に記載されているとおり、次のエラーが発生します。
(node:2066)UnhandledPromiseRejectionWarning:エラー:Chromiumリビジョンがダウンロードされていません。 Launcher.launchで「npm install」または「yarn install」を実行します
この例を試すとき(同じくドキュメントから):
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({path: 'example.png'});
await browser.close();
})();
ドキュメントにも:
注:Puppeteerをインストールすると、APIでの動作が保証されているChromiumの最新バージョン(〜170MB Mac、〜282MB Linux、〜280MB Win)がダウンロードされます。
任意の助けいただければ幸いです。
多くの試みの後、私はようやく答えを見つけました here :
Sudo npm install puppeteer --unsafe-perm=true --allow-root
@vsyncが指摘したように、これはLinuxでのみ機能します
linuxの場合:
1-次のコマンドを使用してChromeブラウザをインストールしておく必要があります。
$ Sudo apt install -y chromium-browser
2-次のコマンドを使用して、クロムの実行可能なパスを取得する必要があります。
$ which chrome-browser
起動関数の引数として実行可能パスを3配置します。
const puppeteer = require('puppeteer-core');
(async () => {
const browser = await puppeteer.launch({
executablePath: '/usr/bin/chromium-browser',
headless: false
});
const page = await browser.newPage();
await page.goto('https://google.com');
await page.screenshot({path: 'example.png'});
await browser.close();
})();
ここで提示されたソリューションを確認することはほとんど機能します。これが私の設定です。 Ubuntu 16。
コマンドラインからchrimiumブラウザをインストールします。次に:
const browser = await puppeteer.launch({
executablePath: "/usr/bin/chromium-browser",
args: ['--no-sandbox']
});
私はこのように解決しました:
const browser = await puppeteer.launch({ executablePath: "./node_modules/puppeteer/.local-chromium/win64-656675/chrome-win/chrome.exe"});
パスのwin64-656675に注意してください。別のオペレーティングシステムを使用している場合は、適切なフォルダーを指定する必要があります。
操り人形のバージョン:1.16.0
私の場合、node_modulesフォルダーとpackage-lock.jsonファイルを削除し、npm installを再度実行した後に機能しました。
誰かがまだこの問題に再び直面している場合。次にnode_modulesフォルダーに移動し、puppeteerとlibに移動します。ここで、launch.jsを見つけて同じファイルを開き、executablepathを検索して、そのnull値をchromeまたは目的のchromiumパスに変更します。
私にとってパスは次のとおりです:
/home/Nightwing/node_modules/puppeteer/Launcher.js
多くの検索と提案のほとんどを試した後、Chromiumを手動でインストールすることで問題を解決することができました。
node node_modules/puppeteer/install.js