エス技研

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.

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

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

  関連記事

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

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

サイト更新、引越時に.htaccessでリダイレクトする方法解説

サイト更新,引越しなどでサイトのURLが変わった場合のリダイレクトを.htaccessのRewriteEngineを使って処理する方法の解説です。

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

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

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

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

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

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

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

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

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

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

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

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

mod_pagespeedでWebサイトを超簡単高速化・Google謹製の最終兵器

Webサイトの表示スピード高速化の最終兵器、Google謹製mod_pagespeedの解説です。レンタルサーバではX-Serverでしか利用できませんが、ワンクリックで高速化します。

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

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