Headless Chrome 開発ツール ライブラリの紹介例
ヘッドレス Chrome とは、Google Chrome をヘッドレス モードで実行することを指します。本質は、Google なしで Google を運営することです。 Chromium および Blink レンダリング エンジンによって提供される最新の Web プラットフォームのすべての機能をコマンド ラインに変換します。
何に使うの?
ヘッドレス ブラウザは、ビジュアル ユーザー インターフェイスを必要としない自動テストやサーバーに最適なツールです。たとえば、Web ページでいくつかのテストを実行したり、Web ページから PDF を作成したり、ブラウザーが URL を送信する方法を確認したりすることができます。
警告: Mac および Linux 上の Chrome 59 はヘッドレス モードで実行できます。 Windows のサポートは間もなく提供される予定です。
コマンドラインからヘッドレスChromeを実行
Chromeのインストール(はしごが必要)
ダウンロードアドレス
いくつかのバージョンの比較
ChromiumはChromeではありませんが、Chromeのコンテンツは基本的に次から派生していますChromium、これはオープンソースバージョンで、毎時更新されます
Canaryは試用版で、カナリアと訳されますが、カナリアはガスなどの有毒ガスに非常に敏感で、少し濃度が高くなると鳴かなくなったり、死んでしまったりします。 . カナリアはガス 毒ガス探知の粗雑な方法を待っているが、このシーンは「ドラゴンの秘密」の黄伯の作戦にも見られる。はは、やりすぎです、これはデイリービルドバージョンです。
Devは開発バージョン、週次ビルドバージョン
ベータはテストバージョン、月次ビルドバージョン
Stableは安定バージョンで、不定期、通常約月に1回更新されます
更新頻度Chromium > Chrome Canary > Chrome Dev > Chrome Stable
Chrome Dev、Chrome Beta、および Chrome Canary のいずれか 1 つだけを同時に表示できます。残りのものは共存できます
Windows プラットフォームのダウンロードは、オンライン インストール プログラムのみである場合があります。オフライン バージョンをダウンロードするには、ダウンロード ページの URL にパラメータ
standalone=1
を追加します。
standalone=1
命令行快捷配置(Mac环境)
在~/.bashrc
中加入
alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome" alias chrome-canary="/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary"
重新打开终端,我们就可以直接通过 chrome
打开稳定版的Chrome,chrome-canary
打开试验版的Chrome了。
命令行启动Chrome
参考官方说明, Headless模式需要Chrome Version >= 59
使用Chrome打开百度首页(带界面),能看到浏览器的打开
chrome
使用无界面模式启动Chrome打开百度首页(无界面),但不到浏览器界面打开,但任务栏会有图标
chrome --headless
使用无界面模式启动Chrome并将页面转为PDF,可以看到
output.pdf
的输出
chrome --headless --print-to-pdf
使用无界面模式启动Chrome并截图,可以看到
screenshot.png
的输出
chrome --headless --screenshot --window-size=414,736
使用无界面模式启动Chrome并打开交互环境
chrome --headless --repl
使用无界面模式启动Chrome,并开启调试Server
chrome --headless --remote-debugging-port=9222
参考 Chrome命令行参数列表
命令行操作Headless Chrome
确保已经启动Headless Chrome,并启用了调试Server
chrome --headless --remote-debugging-port=9222
安装
chrome-remote-interface
npm install chrome-remote-interface -g
查看命令说明,这里可以进行各种相关操作
"
$ chrome-remote-interface
Usage: chrome-remote-interface [options] [command] Commands: inspect [options] [<target>] inspect a target (defaults to the first available target) list list all the available targets/tabs new [<url>] create a new target/tab activate <id> activate a target/tab by id close <id> close a target/tab by id version show the browser version protocol [options] show the currently available protocol descriptor Options: -h, --help output usage information -t, --host <host> HTTP frontend host -p, --port <port> HTTP frontend port -s, --secure HTTPS/WSS frontend
"
打开一个新页面
chrome-remote-interface new
查看刚打开的页面
chrome-remote-interface inspect
查看当前页面的URL
>>> Runtime.evaluate({expression:'location.href'})
~/.bashrc
に
const chromeLauncher = require('chrome-launcher');//启用无界面模式并开启远程调试,不同引用版本和方式,调用方式可能有些区别//chromeLauncher.run({chromeLauncher.launch({// port: 9222,chromeFlags: ['--headless']}).then((chrome) => {// 拿到一个调试客户端实例console.log(chrome)chrome.kill();});
を追加し、から直接Chromeの安定版を開くことができます。 >chrome
、chrome -canary
Chrome の試験版を開きます。
chrome
🎜🎜🎜🎜インターフェイスレス モードを使用して Chrome を起動し、Baidu ホームページ (インターフェイスなし) を開きます。ただし、ブラウザ インターフェイスでは開きませんが、タスクバー🎜🎜🎜chrome --headless
🎜🎜🎜🎜Chromeをヘッドレスモードで起動し、ページをPDFに変換します。output.pdf</codeの出力が表示されます。 >🎜🎜</ul>🎜<code >chrome --headless --print-to-pdf
🎜🎜🎜🎜 Chrome をヘッドレス モードで起動し、スクリーンショットを撮ります。スクリーンショットの出力を確認できます。 .png
🎜🎜 🎜chrome --headless --screenshot --window-size=414,736
🎜🎜🎜🎜Chrome をヘッドレス モードで起動し、対話型環境を開きます🎜🎜 🎜chrome --headless --repl
🎜🎜🎜🎜Chrome をヘッドレス モードで起動し、サーバーのデバッグを有効にします🎜🎜🎜chrome --headless --remote- debugging-port=9222
🎜 🎜🎜🎜Chrome コマンド ライン パラメータ リストを参照してください🎜🎜🎜 コマンド ライン操作 ヘッドレス Chrome🎜🎜🎜🎜 ヘッドレス Chrome を起動し、デバッグ サーバーを有効にしていることを確認してください🎜 🎜🎜chrome --headless --remote-debugging-port=9222
🎜🎜🎜🎜chrome-remote-interface
をインストールします🎜🎜🎜 npm install chrome-remote-interface -g
🎜🎜🎜🎜コマンドの説明を表示し、さまざまな関連操作をここで実行できます🎜🎜🎜"🎜$ chrome-remote-interface🎜const chromeLauncher = require('chrome-launcher');const chromeRemoteInterface = require('chrome-remote-interface')//启用无界面模式并开启远程调试,不同引用版本和方式,调用方式可能有些区别//chromeLauncher.run({chromeLauncher.launch({port: 9222,chromeFlags: ['--headless']}).then((launcher) => {chromeRemoteInterface.Version({host:'localhost',port:9222}).then(versionInfo => {console.log(versionInfo)});chromeRemoteInterface({host:'localhost',port:9222}).then((chrome) => {//这里调用ChromeDevToolsProtocol定义的接口const {Network,Page} = chrome;Network.requestWillBeSent((params) => {let {request} = params;let {url} = request;console.log(url)});Promise.all([Network.enable(),Page.enable() ]).then(() => {Page.navigate({url:'https://www.baidu.com'})});setTimeout(() => {launcher.kill()},5000);})});
chrome-remote-interface new
🎜🎜🎜🎜今開いたページを表示します🎜🎜🎜chrome-リモートインターフェース検査
🎜🎜🎜🎜現在のページのURLを表示します🎜🎜🎜>>> Runtime.evaluate({expression:'location.href'})
🎜🎜🎜🎜🎜ヘッドレス Chrome をプログラムで実行します🎜🎜 コードを通じてコマンド ラインを呼び出すことで、Chrome デバッグ サーバーを直接起動します🎜🎜 上記のコマンド ライン実行メソッドは、システム コールを通じて直接呼び出すことができます。このメソッドは、クロスプラットフォームの状況ではいくつかの作業を行う必要があります。 🎜Google出品的Lighthouse 这个网页质量检查工具,有一个组件专门做这事,考虑了各种平台的兼容性问题,源码参考lighthouse-chromelauncher,这个组件现在已经单独独立出来,作为一个单独的NPM
组件chrome-launcher
,可以直接使用这个在Node
平台下调用,其他平台的也可以此为参考。
const chromeLauncher = require('chrome-launcher');//启用无界面模式并开启远程调试,不同引用版本和方式,调用方式可能有些区别//chromeLauncher.run({chromeLauncher.launch({// port: 9222,chromeFlags: ['--headless']}).then((chrome) => {// 拿到一个调试客户端实例console.log(chrome)chrome.kill();});
通过客户端的封装组件进行浏览器交互
实现了ChromeDevTools
协议的工具库有很多,chrome-remote-interface
是NodeJS的实现。
Chrome调试Server开启的是WebSocket交互的相关实现,要用编程的方式实现还需要封装一些WebSocket命令发送、结果接收等这一系列操作,这些chrome-remote-interface
已经帮我们做了,更多实例可以参考chrome-remote-interface的wiki。
const chromeLauncher = require('chrome-launcher');const chromeRemoteInterface = require('chrome-remote-interface')//启用无界面模式并开启远程调试,不同引用版本和方式,调用方式可能有些区别//chromeLauncher.run({chromeLauncher.launch({port: 9222,chromeFlags: ['--headless']}).then((launcher) => {chromeRemoteInterface.Version({host:'localhost',port:9222}).then(versionInfo => {console.log(versionInfo)});chromeRemoteInterface({host:'localhost',port:9222}).then((chrome) => {//这里调用ChromeDevToolsProtocol定义的接口const {Network,Page} = chrome;Network.requestWillBeSent((params) => {let {request} = params;let {url} = request;console.log(url)});Promise.all([Network.enable(),Page.enable() ]).then(() => {Page.navigate({url:'https://www.baidu.com'})});setTimeout(() => {launcher.kill()},5000);})});
以上がHeadless Chrome 開発ツール ライブラリの紹介例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Windows 上で実行するすべてのアプリケーションには、それを更新するためのコンポーネント プログラムがあります。したがって、Google Chrome または Google Earth を使用している場合は、GoogleUpdate.exe アプリケーションが実行され、アップデートが利用可能かどうかが確認され、設定に基づいてアップデートされます。ただし、Windows 11/10 のタスク マネージャーにプロセス updater.exe が表示されなくなり、代わりにプロセス updater.exe が表示される場合は、これには理由があります。 Windows 11/10のUpdater.exeとは何ですか? Googleは、Google Earth、Google Drive、Chromeなどのすべてのアプリのアップデートを公開しました。このアップデートにより、

crdownload は、Chrome ブラウザのダウンロード キャッシュ ファイルで、ダウンロードされていないファイルです。crdownload ファイルは、ハード ディスクからダウンロードされたファイルを保存するために使用される一時ファイル形式です。ユーザーがファイルをダウンロードする際にファイルの整合性を保護し、ファイルの破損を回避するのに役立ちます。 . 予期せぬ中断または停止。 CRDownload ファイルはファイルのバックアップにも使用でき、ユーザーはファイルの一時コピーを保存できます。ダウンロード中に予期しないエラーが発生した場合、CRDownload ファイルを使用してダウンロードしたファイルを復元できます。

Chrome でプラグインを読み込めない場合は、プラグインが正しくインストールされているかどうかの確認、プラグインの無効化と有効化、プラグインのキャッシュのクリア、ブラウザとプラグインの更新、ネットワーク接続の確認、およびシークレット モードでプラグインをロードしようとしています。解決策は次のとおりです: 1. プラグインが正しくインストールされているかどうかを確認し、再インストールします。 2. プラグインを無効にしてから有効にし、[無効] ボタンをクリックして、もう一度 [有効] ボタンをクリックします。 3. プラグインをクリアします。 - キャッシュで、[詳細オプション] > [閲覧データのクリア] を選択し、キャッシュの画像とファイルを確認してすべての Cookie をクリアし、[データのクリア] をクリックします。

Chrome プラグイン拡張機能のインストール ディレクトリとは何ですか?通常の状況では、Chrome プラグイン拡張機能のデフォルトのインストール ディレクトリは次のとおりです。 1. WindowsXP での Chrome プラグインのデフォルトのインストール ディレクトリの場所: C:\DocumentsandSettings\username\LocalSettings\ApplicationData\Google\Chrome\UserData\ Default\Extensions2. Windows7 の chrome プラグインのデフォルトのインストール ディレクトリの場所: C:\Users\username\AppData\Local\Google\Chrome\User

Google Chrome Web ページが開けない場合はどうすればよいですか? Google Chrome を使用するのが好きな友人はたくさんいますが、もちろん、Web ページが正常に開けない、または使用中に Web ページが開くのが非常に遅いと感じる友人もいます。 Google ChromeのWebページがエディタで開けない問題の解決策を見てみましょう。 Google Chrome Webページが開けない問題の解決方法 方法 1. まだレベルをクリアしていないプレイヤーを助けるために、パズルを解くための具体的な方法について学びましょう。まず、右下のネットワークアイコンを右クリックし、「ネットワークとインターネットの設定」を選択します。 2. [イーサネット] をクリックし、[アダプター オプションの変更] をクリックします。 3. 「プロパティ」ボタンをクリックします。 4. ダブルクリックして開きます。

Chrome とは、ブラウザを意味します。Google が開発した Web ブラウザです。2008 年に初めてリリースされ、すぐに世界で最も人気のあるブラウザの 1 つになりました。その名前は、その象徴的なブラウザのインターフェイス デザインに由来しています。特徴は、ブラウザのタブ バーです。このタブ バーの外観は、クロム メタルに非常に似ています。

このチュートリアルでは、Windows の Chrome または Edge で開いているすべてのタブで特定のテキストまたは語句を検索する方法を説明します。 Chrome で開いているすべてのタブでテキスト検索を行う方法はありますか?はい。Chrome で無料の外部 Web 拡張機能を使用すると、タブを手動で切り替えることなく、開いているすべてのタブでテキスト検索を実行できます。 TabSearch や Ctrl-FPlus などの一部の拡張機能を使用すると、これを簡単に実現できます。 Google Chrome のすべてのタブでテキストを検索するにはどうすればよいですか? Ctrl-FPlus は、ユーザーがブラウザ ウィンドウのすべてのタブで特定の単語、語句、またはテキストを簡単に検索できるようにする無料の拡張機能です。この展開は

SASSの正式名称は「Software as a Service」、つまり「サービスとしてのソフトウェア」を意味し、サードパーティのサプライヤーがクラウドインフラ上にアプリケーションを構築し、インターネット経由で顧客に提供するソフトウェア導入モデルです。顧客が基盤となるインフラストラクチャを事前に構築する必要のないアプリケーション。これは、ローカル マシンにのみインストールできる従来のソフトウェアとは異なり、インターネット接続と Web ブラウザがあればどのデバイスからでもソフトウェアにアクセスできることを意味します。
