エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


Selenium WebDriver、Pythonをインストールしブラウザ自動操作の環境構築手順のまとめ

      2017/04/29

selenium WebDriver、Pythonをインストールし自動操作するまでのまとめ

 

selenium WebDriverとは

 
seleniumは、ブラウザの操作を自動化することで、Webシステムのデバッグを行うためのプログラムです。
 
seleniumには、selenium Core、selenium RC、selenium IDE、selenium WebDriver...などいろいろな種類があります。
これは seleniumの開発の歴史の中で多様な改良が加えられてきた歴史と言っていいでしょう。
 
そして、2016年11月には selenium3が発表されました。
 
ですが、selenium3はまだ情報が少ないため、この記事ではそのひとつ前である selenium WebDriverを使って自動化するための環境を構築する手順の解説です。
 
 
ちなみに、seleniumを簡単に使ってみるだけであれば、Firefoxのアドオン(プラグイン)に selenium IDEというものがあります。
「アドオン」から「Selenium IDE」を検索して、インストールして有効化すると、ブラウザで操作した内容を記録して、それを再現するということが可能になります。
非常に簡単な手順でブラウザを自動操作することができます。
 
ただ、「Selenium IDE」ではできることに限界がありますので、デバッグツール、もしくは、ロボットツールとして実用的な使い方をするには「Selenium WebDrive」が必要になってきます。
 
 
また、今回構築した PC環境は Windows10です。
Windows10に XAMPPで LAMP環境を作っているところにインストールをしています。
(ローカル環境に XAMPPが入っているかどうかは関係ありませんが。)
 
 

Pythonや seleniumをインストールする手順

 

 
 


 
 

Pythonのインストール

 

インストーラー python-2.x.x.msiのダウンロード

 
 https://www.python.org/downloads/
 https://www.python.org/downloads/release/python-2713/
 
上記の Pythonの公式サイトから Pythonの 2.x系のインストーラーをダウンロードします。
 
Seleniumでは Pythonの 2.x系を使用します。Pythonは 2.x系と 3.x系で全く互換性がありませんので、ここでは 2.x系をダウンロードします。
PCの環境に合わせて必要なものをダウンロードしてください。
 
 

インストーラー python-2.x.x.msiの実行

 
ダウンロードした python-2.x.x.msiをダブルクリックして、Pythonをインストールします。
 

 
表示されるウインドウに従い、特に変更することなく「Next」をクリックしていくとインストールされます。
 
標準インストールでは、Cドライブ直下に「Python2x」というフォルダが作成されていますので、それを確認します。
 
 

インストールした Pythonのパスを設定

 
インストールした Pythonを利用できるようにするため、環境変数を編集し、パスを通します。
 
「スタート」を右クリックし、「システム」を選択します。
 
表示される「システム」のウインドウの左側のメニュにある「システム詳細設定」を選択します。
 

 
表示される「システムのプロパティ」の「詳細設定」のタブの画面の下の方にある「環境変数」をクリックします。
 
「システム環境変数」の中の「Path」を選択し「編集」をクリックします。
 

 
「環境変数名の編集」のウインドウで「新規」をクリックし、下記の 2つを追加します。
 

 
環境変数を設定したのち、変更した設定を反映させるために PCを再起動します。
 
再起動完了後、コマンドプロンプトを起動させて、インストールとパスの設定が完了していることを確認します。

 
PCを再起動していない場合(再起動したくない場合)は、pythonのパスを指定して実行する方法もあります。

 
 

インストールされているツールの確認

 
Pythonをインストールした際に一緒にインストールされたスクリプトを確認します。
 
具体的には、Pythonをインストールしたフォルダ「C:\Python27」の中にある「Scripts」フォルダの中を確認します。
 
フォルダの中に、「easy_install.exe」「pip.exe」が入っている場合は、次の「setuptoolsのインストール」と「easy_installで pipをインストール」は実行しなくて OKです。
すでにインストールされていますので(実行しても問題はありませんが)。
 
現時点での Pythonの 2.x系の最新版、2.7.13をインストールした場合は、一緒にインストールされていると思います。
 
 
 

setuptoolsのインストール

 
pipを使うために、setuptoolsをインストールします。
 

setuptoolsインストールのコマンドを実行

 
コマンドプロンプトで下記のコマンドを実行します。

 
前項と同じく、Pythonコマンドにパスが通っていない場合は、下記の様にパスも指定して実行します。

 
実際に実行すると以下のような感じで実行され、「Successfully installed」と出ると正常にインストールが完了です。
 

 
 

setuptoolsに関する参考情報

 
setuptoolsのダウンロードサイトは、下記のサイトから行えます(ダウンロードをする必要はありませんが)。
 https://pypi.python.org/pypi/setuptools
 
また、setuptoolsのインストール方法については、上記ページから下記のインストール方法の解説ページにリンクが張られています。
 https://packaging.python.org/installing/
 
上記ページは英語ですが、Windows用と、Linux・OS X用とそれぞれのインストール方法が解説してあります。
 
 
 

easy_installで pipをインストール

 
Seleniumをインストールするため、easy_installで pipをインストールします。
 

pipをインストールするため easy_installコマンドを実行

 
コマンドプロンプトで下記のコマンドを実行します。

 
最初に Pythonをインストールした際にパスを通した場合は、「easy_install pip」だけで OKです。
 
 
実際に実行すると以下のような感じで実行され、「Finished ...」と出ると正常にインストールが完了です。
 

 
 
 

seleniumのインストール

 
前項でインストールした pipを利用して seleniumをインストールします。
 

pipを利用して seleniumをインストール

 
コマンドプロンプトで下記のコマンドを実行します。

 
 
実際に実行すると以下のような感じで実行され、「Successfully installed」と出ると正常にインストールが完了です。
 

 
 
 

pytestのインストール

 
前項でインストールした pipを利用して pytestをインストールします。
pytestは Pythonの開発時に使用するデバッグのためのテストツールです。
開発を行ううえで役に立つテストツールですので、これを使って開発を行います。
※デバッグツールは不要、と言う方は「pytest」をインストールするこの項目の対応は不要です。
 
 pytestのオフィシャルサイト
 http://pytest.org/latest-ja/
 

pipを利用して pytestをインストール

 
コマンドプロンプトで下記のコマンドを実行します。

 
 
実際に実行すると以下のような感じで実行され、「Successfully installed」と出ると正常にインストールが完了です。
 

 
 


 
 

geckodriverのインストール

 
Firefoxを操作するドライバーである geckodriverをインストールします。
 

geckodriverのダウンロード

下記の URLより、最新の geckodriverをダウンロードします。
OSごとにダウンロードするファイルが違いますので、適切なものを利用します。
 https://github.com/mozilla/geckodriver/releases
 
 

geckodriverを設置

 
ダウンロードしたファイルを展開すると、Windowsの場合は「geckodriver.exe」ファイルが出てきます。
 
この「geckodriver.exe」をパスが通っているフォルダに設置します。
 
パスが通っているところであればどこでもいいのですが、最初に設定した「C:\Python27\Scripts」が分かりやすくていいのではないかと思います。
ただし、最初に書きましたが PCを再起動していない場合は、パスが有効になっていない場合がありますので、このタイミングで PCを再起動する必要がでてきます。
 
 

geckodriverをインストールしない場合のエラー

 
古いバージョンの seleniumでは、geckodriverが必要なかった時代があったようです。
ですが、現在は geckodriverが必須になっていまして、seleniumをアップデートすることで下記のエラーが発生することがあるようです。
 

 
このエラーが発生した場合は、この項の手順に従って geckodriverをインストールしてみてください。
 
 
 

Pythonスクリプトで seleniumを動作させる

 
設定した seleniumが正しく動作するかを確認するため、Pythonスクリプトを実行してみます。
 

Pythonスクリプトを実行

 
コマンドプロンプトで下記のコマンドを実行します。

 
パスが通っていないときは、下記の様にそれぞれパスを指定します。
 

 
 
また、実行するサンプルスクリプトは以下のようになります。
上記の実行コマンドの場合は、ファイル名を「selenium_test.py」とし、Cドライブ直下に作成した「test」フォルダの中に設置します。
 

 
「#」で始まる行がコメント行ですが、各処理の前にコメントを書きましたので、処理の内容はだいたい理解してもらえるんじゃないかと思います。
 
また、処理の一番最初の「# coding: utf-8」は、コメントではなく、「このファイルは UTF-8で記述しています」という宣言になりますので、日本語を使う場合はこのような形で文字コードを宣言します。
日本語の使い方については「PythonでUTF-8など日本語(全角文字)を使う方法。コメントにも必要。」に記事を書いていますので、あわせて参考にしてください。
 
 
このコマンドを実行すると、Firefoxが起動し、「http://blog.s-giken.net」と URLが入力されて、当ブログのトップページが表示されたら正しく動作しているということで、ここまでの設定が正しく行われたということです。
 
time.sleep(5)」は、「5秒待つ」という処理ですので、ちょっと処理待ちも発生しますが、それは正常に動いていることでもあります。
 
 
このサンプルスクリプトが動いたら、あとは、スクリプトを書き換えて、必要な自動化の処理を作成していくことになります。
 
 

selenium+Pythonで処理の自動化に関する記事

Selenium WebDriver、Pythonをインストールしブラウザ自動操作の環境構築手順のまとめ
PythonでUTF-8など日本語(全角文字)を使う方法。コメントにも必要。
Pythonをコマンドラインで実行。全角文字(日本語)を引数にする場合の対処方法
Selenium WebDriverでFirefoxをプライベートウィンドウ/Chromeをシークレットモードで起動する方法・言語はpython
Selenium WebDriver、Pythonをインストールし Chromeの自動操作の環境構築手順のまとめ
Beautiful Soupを利用してPythonでスクレイピングを行う環境構築方法の解説
PythonでMySQLへの接続ライブラリMySQL-pythonの簡単インストール方法
PythonでURLの有無、存在をチェックするスクリプト

 - プログラミング・Web関連技術

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

PythonでMySQLへの接続ライブラリMySQL-pythonの簡単インストール方法

PythonはMySQLに接続するライブラリは別途インストールが必要。なのでMySQL-pythonライブラリのインストール方法とサンプルスクリプトで動作検証までを解説。

SyntaxHighlighterを導入してソースコードを見やすくしてみました

PHP、HTMLなどのソースコードをブログで紹介するとき、SyntaxHighlighterを利用することで見やすく提供することが出来ます。

Pythonをコマンドラインで実行。全角文字(日本語)を引数にする場合の対処方法

Pythonをコマンドラインで実行する際、引数を付与して実行する方法の解説。その時問題となる日本語(全角文字)を利用する方法を解説。Windows環境での解説。

.htaccessのmod_deflateでファイル圧縮送信で高速化でSEO対策!

Page Speed Insightsの指摘事項であるファイルの圧縮送信の対応方法。処理内容の解説もあるけど、.htaccessにコピペするだけの簡単設置で効果抜群!SEOにも威力を発揮!

日本語は2バイト文字?3バイト文字?

日本語は2バイトという理解でしたが、UTF-8では事情が違います。その説明です。

PythonでUTF-8など日本語(全角文字)を使う方法。コメントにも必要。

Pythonの標準では日本語(全角文字)を利用できないので、利用する際は文字コードを宣言する必要がある。「# coding: utf-8」の様に記述すればOK。

Beautiful Soupを利用してPythonでスクレイピングを行う環境構築方法の解説

BeautifulSoupはPythonでスクレイピングを行う際に便利なツール。インストール方法も簡単。ただ、事前にpipのインストールが必要でその解説もしてます。

借りてはいけないレンタルサーバ実例4社・アルファメール・WEBアリーナ

餅は餅屋。サーバはサーバ屋が提供するサービスを利用するべきという記事で、具体例 4サービスを例にこんなサーバはNGと紹介しています。

mod_pagespeedカスタマイズで高速化を詳細解説・Google謹製

mod_pagespeedをデフォルトのまま使っていませんか?mod_pagespeedはデフォルトのままでも速い!でも仕組みを理解し設定し直せばより速くなる!

エックスサーバーで独自SSLは永久無料で取り放題。利用方法と理由を解説!

エックスサーバーでは独自SSLが無料でいくつでも設置できるように!しかも、国、都道府県などの数項目の入力と数クリックだけという超簡単!SSL化しない理由がない!