Linux に puppeteer をインストールするときに、次の問題が発生する可能性があります。この記事では、この難問から抜け出す方法を説明します。
puppeteer を正常にインストールし、実際にスクリーンショットを撮ったプロセスは次のとおりです。 1. nodejsとnpmをインストールする # ダウンロードして解凍します wget -c https://nodejs.org/dist/v8.9.1/node-v8.9.1-linux-x64.tar.xz tar -xvf ノード-v8.9.1-linux-x64.tar.xz # 移動と名前の変更(オプション) mv ノード-v8.9.1-linux-x64 /www/nodejs # ソフトリンク(ショートカット)を作成します。前の手順の名前が異なる場合は、実際の状況に応じてこの手順の下線部分を調整してください。ln -s /www/nodejs/bin/node /usr/local/bin/node ローカルの Node.js ディレクトリに npm と入力し、 2. クロムをインストールする
3. puppeteer-core をインストールします (puppeteer を直接インストールすると、chromium をダウンロードできないためエラーが発生します) 4. 新しいa.jsを作成する 'puppeteer-core' が必要です。 (非同期() => { const browser = puppeteer.launch({ 実行可能パス: '/usr/bin/chromium-browser', 引数:["--no-sandbox"] }); const page = browser.newPage() を待機します。 page.goto('https://www.baidu.com') を待機します。 page.screenshot({path: 'example.png'}); を待ちます。 ブラウザを閉じるのを待ちます。 })(); このステップのコードは、インターネット上のものとは異なる場合があります。1つは、requireのコードがpuppeteerではなくpuppeteer-coreであることです。これは、puppeteerではなくpuppeteer-coreをインストールしたためです。 もう1つは、起動時に2つのパラメータがあることです。最初のパラメータは、Puppeteerを直接インストールしていないため、パスを指定する必要があります。2番目のパラメータは、Chromiumの制限によるもので、ルートアカウントで実行するためにこのパラメータを追加する必要があります。 5. a.jsを実行する
実行後、example.pngが表示されます。 注意: ページに中国語が含まれている場合、中国語フォントがないため正しく表示されない可能性があります。解決策は、コンピュータ上の c:/windows/fonts にある中国語フォントをサーバーの /usr/share/fonts/chinese に直接アップロードすることです (デフォルトでは中国語ディレクトリがないため、自分で作成できます)。 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Puppeter 関連ドキュメント https://pptr.dev/ 要約する 以上、Linux(centos)でpuppeteerを使ってWebページのスクリーンショット機能を実現する方法についてご紹介しました。参考になれば幸いです。 以下もご興味があるかもしれません:
|
目次MySQL の 4 つの分離レベルデータ テーブルを作成します。分離レベルの設定物事の分離レベル...
前回の記事では、MySQL 最適化の概要 - クエリの合計数を紹介しました。この記事では、クエリ ス...
DockerにNginxをインストールするNginx は、IMAP/POP3/SMTP サービスも提...
この記事では、vue-table の追加と削除の具体的なコードを参考までに紹介します。具体的な内容は...
1994 年に設立された組織である W3C は、共通プロトコルの開発を促進し、それらの相互運用性を確...
<META http-equiv="Page-Enter" CONTENT...
以下のように表示されます。 test コマンドはファイルが存在するかどうかを判断します。 ssh u...
MyCATとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベースク...
目次序文1. 新しいVueプロジェクトを作成する2. WebStormの設定1. デバッガポートを設...
目次1. 需要方法1方法2方法3 2. 実装3. 問題解決質問1: トークンの複数回の更新を防ぐ方法...
背景: position:sticky はスティッキー配置とも呼ばれます。スティッキー配置の要素は、...
序文:複数の要素を格納するために、配列は最も一般的に使用されるデータ構造ですが、配列には多くの欠点も...
MySQLで重複データを削除する詳細な例重複レコードには 2 つの意味があります。1 つは完全に重複...
目次1. SVGを使用する2. fontAwesomeを使用する3 ソース4 結論テクノロジースタッ...
目次Centosイメージを取得するCentos ベースの nginx コンテナを生成するCentos...