エス技研

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


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

      2018/04/14

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のパスを指定して実行する方法もあります。

 
 
環境変数の設定に関しての詳細記事は以下を参照してください。
Windowsで環境変数のパスの設定方法解説。不具合時のチェックポイントも紹介
 
 

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

 
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.

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

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

  関連記事

ロリポップからX-Serverに引越し。サーバの月額費用が増えても求めた理由は?

ロリポップからX-Serverに引越すその理由とは?SEOの観点からも少しでもサーバレスポンスが早いサーバが求められロリポップでは限界を感じたからです。

コピーコンテンツ・直リンクの3つの対策Google通報などのまとめ

コピーコンテンツを発見したときにやること!Googleに通報、画像の直リンクを禁止、RSSの全文配信を停止。この対策をしないとあなたのサイトの評価も下がるかも!

FTPでダウンロード時にファイルが重複するため上書きしますか?と表示される問題

FTPでファイルをダウンロードする際に「ファイルが重複しています。上書きしますか?」というメッセージが出る場合がありますが、これの原因と対策、解決策の記事です。

CentOS環境に ntpdをインストールして自動的に時刻を取得する設定にする
CentOS環境に ntpdをインストールして自動的に時刻を取得して合わせる設定にする

VirtualBoxに構築した CentOSの環境の時計がずれているとき、ntpdをインストールし、時計を合わせる方法を解説。NTPサーバを指定する方法や ntpdを自動起動する設定も解説。

Gitはフォルダ自体を管理対象にはできない。空のフォルダを設定する手順
Gitはフォルダ自体を管理対象にはできない。空のフォルダを設定する手順

Gitはフォルダだけを管理対象にすることはできない。そのため空の.gitkeepファイルを作成し管理対象にすることで、それが入っているフォルダも管理対象にする、と言う手順で管理を行う。

chromedriver.exe - ディスクがありませんと出てSeleniumの設定が上手くいかない
chromedriver.exe – ディスクがありませんと出てSeleniumの設定が上手くいかない

Selenium WebDriverを使ってChromeを自動操作する仕組みを作る際、chromedriver.exeを利用しますが、ディスクがありません、というエラーが発生する場合があります。その対処方法を解説します。

直リンクとは何か?直リンクとディープリンクの違いと著作権問題

直リンクは著作権違反なのか?議論の前にまず「直リンク」の意味を正しく理解しよう。直リンクは他のサイトの画像を読み込む、ディープリンクなど多様な意味がある。

WordPress、Webサイトの表示高速化!画像を軽くする基本的な考え方

画面表示の高速化には画像のファイル容量を小さくする方法があります。ツールを使わなくても小さくするための基本的な考え方を解説します。

Apacheの起動しているかの確認方法と起動、再起動、終了のコマンド
Apacheの起動しているかの確認方法と起動、再起動、終了のコマンド

Apacheが起動しているかを確認する方法の解説に加え、Apacheの起動、停止、再起動のコマンドを解説。再起動のコマンドには restart、condrestart、reload、gracefulがあり、違いを解説。

Gitで「fatal: Authentication failed for 'https://example.com/git_repositories/example.git/'」のエラーが出た場合の対処方法の一つ
Gitで「fatal: Authentication failed for ‘https://example.com/git_repositories/example.git/’」のエラーが出た場合の対処方法の一つ

Gitのリモートリポジトリにアクセスする際、Authentication failedのエラーが。しかし、ID、PASSが間違っているのではなく、リモートリポジトリのURLが間違っている場合もあるので再度確認を。