Puppeteerのインストールは完璧に解決します-自動的に国内のミラーからダウンロードします


まず、GoogleはChromiumをHeadless、つまりヘッドレスブラウザにサポートし、インタフェースを使わずにCIモードで直接実行し、phantomjsの退社を発表した.
いくつかの応用:
  • 爬虫技術
  • フロントエンドunit testユニットテスト、例えばkarma+jasmineなどの
  • UI自動化テスト
  • そして、グーグルはPuppeteer、つまりブラウザを操作するためのインタフェースを作って、Chromiumブラウザと通信しやすいようにしました.
    ただし、Puppeteerをインストールする場合は、対応するOSのChromiumをGoogle公式サイトからダウンロードする必要があり、ダウンロードに失敗することが多い
    手動でダウンロードできますが、自動化はできません.その後、宝を洗うミラーからダウンロードしたり、環境変数を設定したりする必要があります.
    これらの問題を自動的に解決するためのPuppeteer Chromium Resolverが見つかりました.
    npm install puppeteer-chromium-resolver --save

    インストール時にChromiumが自動的にインストールされ、使用時にキャッシュで素早く呼び出すことができます.呼び出しにはカスタムexecutablePathが必要です.
    require("puppeteer-chromium-resolver")({
        //hosts: ["https://storage.googleapis.com", "https://npm.taobao.org/mirrors"]
    }).then(function (revisionInfo) {
        console.log("Chromium revision installed.");
        revisionInfo.puppeteer.launch({
            headless: false,
            executablePath: revisionInfo.executablePath
        });
    });
    

    1、自分でミラーhostsを設定することができて、デフォルトは公式サイトとアリミラーで、1つのダウンロードに失敗して、自動的にもう1つを試して、国内の国外のダウンロードをシームレスに解決します
    2、ダウンロードのデフォルトはuserに保存されているディレクトリ(savePathを指定することもできます)で、node_modules、node_modulesはいつでも削除される可能性があります.次回のインストールでは再ダウンロードが必要です.また、複数のプロジェクトが使用される場合、Chromiumも大きく、300兆以上あります.複数のスペースがかかりすぎて、グローバルなuserディレクトリに保存され、1つしか保存されていません.また、ダウンロードすると、ダウンロードされません.スキームはphantomjsと似ています.
    その他の質問:
    PuppeteerとChromium Headlessは素晴らしいですが、現在は古いシステムにインストールされています.依存が欠けていて実行できません.例えばlinux centos 6では、依存をインストールする必要があります.誰もがこれらの依存をインストールする権限があるわけではありませんが、phantomjsにはこれらの依存の問題はありません.
    依存関係:https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md