「Headless Chrome」を「python」で動かす方法!

今回の記事ではHeadless Chromeをpythonで動かす方法を紹介していきます。環境構築の事前準備コメントアウトやコメント解除の手順などを紹介します。Headless Chromeをpythonで動かす流れを簡潔に説明しますので、ぜひご覧ください。

「Headless Chrome」を「python」で動かす方法!のイメージ

目次

  1. 1Headless Chromeとは
  2. 画面表示なしでコマンドで動作可能なモードのこと
  3. 2pythonとは
  4. プログラミング言語の一つ
  5. 3「Headless Chrome」を「python」で動かす環境構築の事前準備
  6. 事前準備の手順
  7. 4「Headless Chrome」を「python」で動かす方法~コマンドの説明~
  8. 動作させる場合
  9. 解除する場合
  10. 5「Headless Chrome」を「python」で使う方法
  11. 使い方の手順
  12. まとめ
  13. 合わせて読みたい!Googleに関する記事一覧

Headless Chromeとは

今回の記事では、「Headless Chrome」を「python」で動かす方法を紹介していきます。環境こうちくや使用するコマンドなど、この記事で確認をしていきましょう。

まずは事前情報として、”Headless Chrome”とは何のことなのか?という点を下記では説明していきます。確認してみましょう。

画面表示なしでコマンドで動作可能なモードのこと

「Headless Chrome」を「python」で動かす方法・Chromeのアイコン

Headless Chromeとは、画面表示なしで操作ができるモードのことをいいます。headlessモードは”コマンド”で実行するので、Chromeなしで動作・操作可能になります。

Google Chrome ウェブブラウザ
Thumb「Headless Chrome」を使えるようにする方法を解説!
皆さんはHeadless Chromeというものをご存知でしょうか。今回はHeadless ...

pythonとは

続いてはpythonとは何かを紹介していきます。上記ではHeadless Chromeをpythonで動かすと記載しましたが、そもそもpythonとは何のことを指すのか。下記でpythonについて確認しましょう

プログラミング言語の一つ

pythonとは、プログラミング言語のひとつです。pythonは、少ない分量でプログラムがかけると言われている言語で、最近流行りのAIや教育分野など、さまざまな場面で利用されています。

プログラミング言語は色んなものがありますが、pythonは「これがあれば大抵は作れる」と言われているくらい優秀です。今回はpythonというプログラミング言語でHeadless Chromeを扱っていくことになります。

Thumb【chrome://】Chromeの詳細設定一覧!隠し機能も解説!
Chromeの詳細設定を知っていると、さらに便利にChromeを使うことができます。あわせて...
Thumb【Chrome リモートデスクトップ】新しいWeb版を正式にリリース!
米Googleは新しいWeb版「Chromeリモートデスクトップ」の正式リリースを行いました...

「Headless Chrome」を「python」で動かす環境構築の事前準備

上記ではHeadless Chromeとpythonについてを説明しました。続いては環境構築のために必要となる事前準備の流れを紹介していきます。

Headless Chromeをpythonで動かすということは、そもそもそれらのツールがインストールされている必要があります。環境構築のための事前準備を、下記項目を見ながらおこないましょう。

Python3のインストール - python.jp
pip - python.jp
Chrome Canary

事前準備の手順

環境構築のための事前準備に手順を紹介していきます。環境構築のために必要となるのは、上記で紹介したHeadless Chromeとpython、そして”pip”です。インストール方法を確認しましょう。

pythonのインストール

homebrewを通してインストールする場合は下記のコマンドで実行が可能です
 

Homebrew インストール
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Python3 インストール
brew install python3
python3 --version

pipのインストール

pipを使わずとも構築は出来ますが、入れておくのがおすすめです。pythonと下記で紹介するChrome Canaryが入っている状態で、下記のコマンドを実行して環境構築を行いましょう。
 

pip install selenium
pip install chromedriver-binary

Chrome Canaryのインストール

通常のChromeでも使えないことはないのですが、プログラムミスによりすぐに起動しなくなるといったトラブルがおきがちです。Chrome Canaryの方が、pythonで動かすには適しているでしょう。

Chrome Canaryは検索することですぐにダウンロードページが表示されますので、そこからChrome Canaryの導入をおこなってください。

Thumb【Google Chrome】ホームボタンの表示方法!設定方法も解説!
インターネットブラウザとして定着しているGoogle Chromeですが、Google Ch...
Thumb【chrome://】Chromeの詳細設定一覧!隠し機能も解説!
Chromeの詳細設定を知っていると、さらに便利にChromeを使うことができます。あわせて...

「Headless Chrome」を「python」で動かす方法~コマンドの説明~

環境構築の下準備を紹介しました。pipやChrome Canaryはなくても良いとされていますが、headless Chromeをpythonで使う際に推奨されているツールです。pipはあった方が手間がないので入れておきましょう。

続いてはコマンドの説明をおこなっていきます。

動作させる場合

実際にheadlessモードで動作をさせたい場合は、どのように操作をおこなえばいいのか。下記で詳細を確認しましょう。

headONモードをコメントアウトする

headlessモードで動かしたい時は、”headONモード”をコメントアウトすればOKです。

解除する場合

逆に、headlessモードを解除したい場合はどのようにすればいいのでしょう。

headlessモードをコメント解除する

先ほどとは逆で、headlessモードを解除したい場合はコメント解除をおこなえば良いのです。headlessモードの切り替えは、コメントアウトとコメント解除で操作しましょう。

Thumb 「Google」と「Chrome」の違いは?同じ検索アプリ?
GoogleアプリとChromeアプリの違いをご存知でしょうか?GoogleアプリとChro...
Thumb【Google Home】Chromecastと連携して音声操作する方法を解説!
Google HomeとChromecastを連携して、色々なことを楽しみたいという方のため...

「Headless Chrome」を「python」で使う方法

上記では、headlessモードで動作させたい場合のコマンド説明をおこないました。headONモードのコメントアウトとコメント解除により、headlessモードは切り替えができます。

コメントアウトとコメント解除の流れは覚えておきましょう。最後に、headless Chromeをpythonで動かす方法を簡単に下記でまとめていきます。使い方の手順を見ていきましょう。

使い方の手順

コメントアウトとコメント解除による切り替えを覚えたら、さっそく動かしてみましょう。特定のサイトにアクセスしたり、スクリーンショットをとったりすることが可能です。

特定のサイト/Yahoo!検索にアクセスする

特定のサイトにアクセスしたい場合は、下記のように打ち込みます。今回はYahoo!検索へのアクセスを例としたコマンド紹介です。
 

#Yahoo!検索にアクセス
driver.get("https://www.yahoo.co.jp")

検索窓を操作する

検索窓を操作したい時は、下記のようなコマンドを使います。
 

# 検索語を入力して送信する。
input_element = driver.find_element_by_name('q')
input_element.send_keys('Python')
input_element.send_keys(Keys.RETURN)

必要な情報を取得/出力する

必要な情報を取得し、出力したい場合は下記のコマンドを参考としてください。
 

# 取得したい要素を検索、すべて取得してループ処理
for a in driver.find_elements_by_css_selector('.w .hd a'):
 # ページタイトル
 print(a.text)
 # ページURL
 print(a.get_attribute('href'))

Webページのスクリーンショットを撮る

Webページのスクリーンショットで使うコマンドは以下のとおりです。
 

# スクリーンショットを撮る。
driver.save_screenshot('firefox_search_results.png')

まとめ

今回の記事では、headless Chromeをpythonで使う方法を紹介しました。python以外にもpipやChrome Canaryといったツールを利用するので、プログラミングに不慣れな方は事前準備(確認)が必要です。

headless Chromeをpythonで使いたいという方は、この記事を参考にして事前準備は環境構築をおこなってみてください。

Thumb【Chrome OS】低スペックのPCにインストールする方法!
軽い動作が最大の特徴のChrome OSは、その特徴ゆえに低スペックのPCや少々型落ちの古い...

合わせて読みたい!Googleに関する記事一覧

Thumb【Google マップ】視覚障害者向けに音声ガイダンス機能を追加!
「Google マップ」に視覚障害者向けの詳細な音声ガイダンス機能を追加したことが発表されま...
ThumbGoogle新スマホ「Pixel 4」発表!デュアルカメラなど情報まとめ!
Googleは「Made by Google」において、Googleの新スマホPixel 4...
ThumbGoogle「Chrome 78」安定版!タブのカスタマイズ機能/脆弱性の修正!
Googleは「Chrome 78」安定版をWindows、Mac、Linux向けに公開しま...
Thumb【Google】デジタル・ウェルビーイング系実験アプリ5つ公開!
Googleは「Digital Wellbeing(デジタル・ウェルビーイング)」系実験アプ...

関連するまとめ

Original
この記事のライター
夏石望央
よろしくお願いします