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ページのスクリーンショット機能を実現する方法についてご紹介しました。参考になれば幸いです。 以下もご興味があるかもしれません:
|
1. 動的クエリルール動的クエリルールは、おおよそ次の図のようになります。ユーザのカスタマイズに応じ...
目次質問解決質問この問題には多くの理由があるようです。私の問題は、パラメータ付きのURLを更新できな...
JDBC の 6 つのステップ: 1. ドライバーを登録する2. データベース接続を取得する3. デ...
背景CVE-2021-21972 VMware vCenter における認証されていないコマンド実行...
ワイルドカードのカテゴリ: %パーセント ワイルドカード: 任意の文字が任意の回数出現できることを示...
layui テーブルには複数行のデータがあります。外部入力コンテンツを通じて、指定された行を見つけ...
最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...
CentOS 7 では、次のようなコマンドを使用してホスト ポートをコンテナー ポートにマッピングす...
<!--[if IE 6]> IE6 のみが認識可能 <![endif]-->...
このチュートリアルでは、インストールに最新の MySQL コミュニティ グリーン バージョンである ...
純粋な CSS3 で実装された美しい入力ボックス アニメーション スタイル ライブラリを共有します ...
序文:非常に遅いクエリとリクエストのタイムアウトのアラートを受け取りました。メトリックを通じて My...
序文この記事では、Linux 構成ログ サーバーに関する関連コンテンツを主に紹介し、参考と学習のため...
これは Element UI の読み込みコンポーネントのエフェクトです。かっこいいですね。実装してみ...
序文springboot設定ファイルでは、設定ファイルの名前には独自の意味と用途があります。 dev...