Seleniumを使って画面に出さずに(≒ヘッドレスブラウザで)自動操作をしたよ

自動化/自動操作Python, Selenium

どうも、この前の記事ではSeleniumとPythonを使ってブラウザ操作の自動化をやりました。その時は自動で動くの様子が画面に表示されて面白かったのですが、実際に使う段階になると結構処理も重いため画面を表示しない方法が欲しくなりました。というわけで、今回はPhantomJSを使って画面に出さないブラウザの自動化をやっていきます。

この記事では、すでにPythonでSeleniumが動作する環境が整っている前提で書いていきます。そのため、まだ環境が整っていない方は、前に書きましたの備忘録なんかを確認してインストールしちゃってください。


OS : Ubuntu 16.04 LTS
Python : 3.5.2


1. 下準備

さて、まずは必要なものを準備します。上でも書きましたが、PythonとSeleniumのインストールは省略します。というわけで、必要なものは画面に出ないブラウザ(多分ヘッドレスブラウザと呼ばれているやつ)です。というわけで、今回使用するのがPhantomJSです。PhantomJS=ブラウザというわけではないと思いますが、動作を見るだけなら関係ない(自分が理解していない)ため、ここでは省略します。

では、PhantomJSのインストールを行います。インストールと言っても配布ページからDLして作業用のディレクトリに配置するだけです。というわけで、こちらの配布ページから自分の環境に合うファイルをDLしてください。今回の自分の環境だとLinux 64-bit版が環境に合うファイルになります。DLしたファイル内を見ると、”bin”ディレクトリの中に”phantomjs”というものがあると思います。これを適当なところに移動させてください。プログラムを書くときにこのファイルを参照することでPhantomJSを動作させます。

余談ですが、今回はファイルをDLして配置するという方法を使いました。もし、作業環境がMacなんかでhomebrewが使えるなら以下のコマンドでインストールできるみたいです(未検証)。

2. 動作確認

さて、これで準備は整ったので実際に動作確認をしてみましょう。ここでは、簡単に確認するために、コンソールに直接コマンドを打っていくことで動作させていきます。

こんな感じで動作が確認できたら、大丈夫だと思います。というわけで、今回はおしまいです。お疲れ様でした。

おわりに

さて、今回は前からやりたいなと思っていたけど、なんとなくめんどくさくて手が出ななかった、ヘッドレスブラウザの自動化をやりました。実際にやって見ると数分で終わる作業だったので、もっと早くやってしまえばよかったという感想です。


「Headless Selenium WebDriver Testing With Python and Ghost Driver」
http://blog.likewise.org/…ghostdriver/