エス技研

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への引越しの注意点まとめ。ロリポップとの違いと対処方法 6事例

ロリポップからX Serverに引越し。ロリポップとX Serverの違いに注目することでX Serverの設定方法を明確にします。またX Serverならではの設定ポイントなども解説。

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が間違っている場合もあるので再度確認を。

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

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

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

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

Selenium WebDriverでFirefoxをプライベートウィンドウ/Chromeをシークレットモードで起動する方法・言語はpython

Seleniumでは初期状態でブラウザを起動する   Seleniumでブラウザ …

.gitignoreで無視フォルダの中の特定のファイルを除外「!(否定文)」を使う場合の注意点
.gitignoreで無視フォルダの中の特定のファイルを除外「!(否定文)」を使う場合の注意点

Gitで管理する対象、対象外のファイル、フォルダの指定は .gitignoreに記述する。その基本的な記述の方法に加え、無視対象にしたフォルダの中の特定のファイルを管理対象にする記述方法を解説。

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

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

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

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

XSERVERにCakePHP3をインストール。コマンドラインのPHPのバージョンを変更する方法で解決

XSERVERにCakePHP3をインストールするときに問題となるのはサーバーパネルとSSH接続の時とで認識されるPHPのバージョンの違いがあるため。その解消方法を解説する。

Webサイト公開時に重複コンテンツを排除する.htaccessのリダイレクトの設定のまとめ

サイトを公開する際にはURLの正規化は必須です。正規化とは何かを解説し、.htaccessに設定すべきリダイレクトの設定を具体的に説明します。