CentOS7にGoogle Chromeをインストールします。 Chromiumをインストールする場合は、以下を参照。

インストール

Google Chromeの安定版をrpmからインストールします。

$ sudo yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

または、 以下の内容で /etc/yum.repos.d/google-chrome.repo を作成して

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl.google.com/linux/linux_signing_key.pub
以下を実行してyumでインストールします。
$ sudo yum install google-chrome-stable

インストールが完了したら、バージョンを確認しておきます。2018年7月時点では以下のようになりました。

$ google-chrome --version
Google Chrome 67.0.3396.99
インストール先は、以下のようになっていました。
$ which google-chrome
/usr/bin/google-chrome

$ ls -l /usr/bin/google-chrome
lrwxrwxrwx 1 root root 31  7月 10 21:22 /usr/bin/google-chrome -> /etc/alternatives/google-chrome

日本語フォント

日本語フォントが無いとエラーになる場合があるようなのでインストールします。

$ sudo yum install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts

ヘッドレスでの動作確認

インストールが正常に完了したら、ヘッドレスでアクセスしてみます。 ヘッドレスの場合はオプションに"--headless"を指定します。 また正しくアクセスできたか確認するため、取得HTMLをダンプするオプションの"--dump-dom"を指定します。

http://example.com/ にアクセスして、以下のようになれば成功です。 エラーメッセージが表示されていますが、とりあえずアクセスできているので無視します。

$ google-chrome --headless --dump-dom http://example.com/
[0710/221658.627014:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.
<!DOCTYPE html>
<html><head>
    <title>Example Domain</title>

    <meta charset="utf-8">
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style type="text/css">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
        
    }
    div {
        width: 600px;
        margin: 5em auto;
        padding: 50px;
        background-color: #fff;
        border-radius: 1em;
    }
    a:link, a:visited {
        color: #38488f;
        text-decoration: none;
    }
    @media (max-width: 700px) {
        body {
            background-color: #fff;
        }
        div {
            width: auto;
            margin: 0 auto;
            border-radius: 0;
            padding: 1em;
        }
    }
    </style>    
</head>

<body>
<div>
    <h1>Example Domain</h1>
    <p>This domain is established to be used for illustrative examples in documents. You may use this
    domain in examples without prior coordination or asking for permission.</p>
    <p><a href="http://www.iana.org/domains/example">More information...</a></p>
</div>


</body></html>

使用方法の参考ページ

トラブル

fonts.confの<blank>エラー

以下のようにfonts.confのエラーが発生する場合

$ google-chrome --headless --dump-dom http://example.com/
[0710/212252.959768:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.
Fontconfig warning: "/etc/fonts/fonts.conf", line 146: blank doesn't take any effect anymore. please remove it from your fonts.conf
Failed to generate minidump.Illegal instruction
以下のようになっている/etc/fonts/fonts.confから、"<blank>"と"</blank>"を削除します。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
...
...
<!--
  These are the default Unicode chars that are expected to be blank
  in fonts.  All other blank chars are assumed to be broken and
  won't appear in the resulting charsets
 -->
                <blank>
                        <int>0x0020</int>       <!-- SPACE -->
                        <int>0x00A0</int>       <!-- NO-BREAK SPACE -->
                        ...
                        ...
                        <int>0xFFFA</int>       <!-- INTERLINEAR ANNOTATION SEPARATOR -->
                        <int>0xFFFB</int>       <!-- INTERLINEAR ANNOTATION TERMINATOR -->
                </blank>
<!--
  Rescan configuration every 30 seconds when FcFontSetList is called
 -->
 ...
 ...
</fontconfig>

ダンプで何も表示されない

以下のようにERRORが表示されるだけ指定URLのDOMが表示されない場合、日本語フォントをインストールしてみます。

$ google-chrome --headless --dump-dom http://example.com/
[0710/215346.723946:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.

日本語フォントのインストール

$ sudo yum install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts

Chromeのバージョンが古い場合やWindowsの場合は、起動オプションに"--disable-gpu"を指定してみます。

$ google-chrome --headless --disable-gpu --dump-dom http://example.com/