http://peter.sh/experiments/chromium-command-line-switches/#chrome-frameのスイッチのリストを慎重に修正しましたが、非表示のバックグラウンド プロセスで Chrome を起動するものは見つかりませんでした。
私ができる最も近いのは--keep-alive-for-test
+カスタムパッケージアプリですが、(レポートの方法で)「ウィンドウなし-ChromeHidden」のため、アプリは渡されたコードを実行できません。
http://peter.sh/experiments/chromium-command-line-switches/#chrome-frameのスイッチのリストを慎重に修正しましたが、非表示のバックグラウンド プロセスで Chrome を起動するものは見つかりませんでした。
私ができる最も近いのは--keep-alive-for-test
+カスタムパッケージアプリですが、(レポートの方法で)「ウィンドウなし-ChromeHidden」のため、アプリは渡されたコードを実行できません。
この男は、Xvfb(X仮想フレームバッファー)を使用してChromeをだまし、ウィンドウを表示していると思わせることで、Chromeをヘッドレスで実行することができました。
http://e-method.blogspot.fr/2010/11/google-chrome-with-xvfb-headless-server.html
Linuxを使用している場合は、それを試すことができます。
したがって、基本的には、次の方法でX仮想フレームバッファとGoogleChromeをインストールする必要があります。
root@localhost: ~# apt-get install xvfb imagemagick
root@localhost: ~# apt-get install google-chrome
次に、ディスプレイでブラウザを実行します。
root@localhost: ~# xvfb-run --server-args='-screen 0, 1024x768x24' \
google-chrome -start-maximized http://www.example.com \
> & /dev/null &
root@localhost: ~# DISPLAY=:99 import -window root myimage.png
Linux VM をセットアップして、その中で xvfb を使用できます。
debian / ubuntu へのインストール:
sudo aptitude install xvfb
Chrome ヘッドレスを起動してhttp://example.comにアクセスします。
xvfb-run --server-args='-screen 0, 1024x768x16' google-chrome
-start-maximized http://example.com > /dev/null &
子サブプロセスとして起動すると、ヘッドレス モードで起動することがわかります。それに加えて:
win hide
、その PID に基づいてクロムで実行できます私は最近、それを行うように見えるいくつかのコマンドラインオプションについて言及しているこの記事を見つけました。これらのキーワードを使用して、これらのオプションが存在することを確認するように見えるこのコードをグーグルで検索しました。
// Does not automatically open a browser window on startup (used when
// launching Chrome for the purpose of hosting background apps).
const char kNoStartupWindow[] = "no-startup-window";
// Causes Chrome to launch without opening any windows by default. Useful if
// one wishes to use Chrome as an ash server.
const char kSilentLaunch[] = "silent-launch";
Chrome を正常に実行できましたが--no-startup-window
、実際にはウィンドウなしで起動しました。適切に起動したように見え、典型的なすべての子を生成しましたが、中にロードしようとした Web サイトは実際にはアクセスされていないようでした。このヘッドレス モードは、アプリを実行するためだけのものであり、ヘッドレスでサイトにアクセスするためのものではない可能性があります*)。
2 番目のオプション--silent-launch
では、chrome プロセスが非常に静かになりました。子が生成されたことに気付かず、プロセスはすぐに終了しました。今回のケースでは使い物にならないと思います。
これらのオプションで失敗した後、あまり洗練されていない方法に焦点を当てました。リストの下部には、次の 2 つのオプションがあります。
// Specify the initial window position: --window-position=x,y
const char kWindowPosition[] = "window-position";
// Specify the initial window size: --window-size=w,h
const char kWindowSize[] = "window-size";
作業領域から完全に移動するオプションを使用して Chrome を実行しました。
--window-size=800,600 --window-position=-800,0
汚れているように感じますが、真のヘッドレスではないことは確かですが、それでもウィンドウは私の視界から外れており、外部ツールが低レベルのウィンドウ非表示メッセージを送信することなく、クロムの起動オプションだけですべてが行われます.
*) はい、私は奇妙なことをしようとしていることを知っています。基本的に、テスト中に Karma によって保持される Chrome ウィンドウを取り除こうとしました。PhantomJS に切り替えることができることはわかっていますが、特に Chrome で実行する必要があり、ウィンドウが飛び出して.. ええ.. 長い目で見れば気がかりでした。