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のインストール
- setuptoolsのインストール
- easy_installで pipをインストール
- seleniumのインストール
- pytestのインストール
- geckodriverのインストール
- 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つを追加します。
1 2 |
C:\Python27 C:\Python27\Scripts |
環境変数を設定したのち、変更した設定を反映させるために PCを再起動します。
再起動完了後、コマンドプロンプトを起動させて、インストールとパスの設定が完了していることを確認します。
1 2 |
C:\> python --version Python 2.7.13 |
PCを再起動していない場合(再起動したくない場合)は、pythonのパスを指定して実行する方法もあります。
1 2 |
C:\> c:\python27\python --version Python 2.7.13 |
環境変数の設定に関しての詳細記事は以下を参照してください。
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インストールのコマンドを実行
コマンドプロンプトで下記のコマンドを実行します。
1 |
C:\> python -m pip install -U pip setuptools |
前項と同じく、Pythonコマンドにパスが通っていない場合は、下記の様にパスも指定して実行します。
1 |
C:\> c:\python27\python -m pip install -U pip setuptools |
実際に実行すると以下のような感じで実行され、「Successfully installed」と出ると正常にインストールが完了です。
1 2 3 4 5 6 7 8 9 10 11 12 |
C:\> c:\python27\python -m pip install -U pip setuptools Requirement already up-to-date: pip in c:\python27\lib\site-packages Collecting setuptools Downloading setuptools-33.1.1-py2.py3-none-any.whl (472kB) 100% |################################| 481kB 1.5MB/s Installing collected packages: setuptools Found existing installation: setuptools 28.8.0 Uninstalling setuptools-28.8.0: Successfully uninstalled setuptools-28.8.0 Successfully installed setuptools-33.1.1 C:\> |
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コマンドを実行
コマンドプロンプトで下記のコマンドを実行します。
1 |
c:\python27\Scripts\easy_install pip |
最初に Pythonをインストールした際にパスを通した場合は、「easy_install pip
」だけで OKです。
実際に実行すると以下のような感じで実行され、「Finished ...」と出ると正常にインストールが完了です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
C:\> c:\python27\Scripts\easy_install pip Searching for pip Best match: pip 9.0.1 Adding pip 9.0.1 to easy-install.pth file Installing pip-script.py script to c:\python27\Scripts Installing pip.exe script to c:\python27\Scripts Installing pip.exe.manifest script to c:\python27\Scripts Installing pip3.5-script.py script to c:\python27\Scripts Installing pip3.5.exe script to c:\python27\Scripts Installing pip3.5.exe.manifest script to c:\python27\Scripts Installing pip3-script.py script to c:\python27\Scripts Installing pip3.exe script to c:\python27\Scripts Installing pip3.exe.manifest script to c:\python27\Scripts Using c:\python27\lib\site-packages Processing dependencies for pip Finished processing dependencies for pip C:\> |
seleniumのインストール
前項でインストールした pipを利用して seleniumをインストールします。
pipを利用して seleniumをインストール
コマンドプロンプトで下記のコマンドを実行します。
1 |
c:\python27\Scripts\pip install -U selenium |
実際に実行すると以下のような感じで実行され、「Successfully installed」と出ると正常にインストールが完了です。
1 2 3 4 5 6 7 8 |
C:\> c:\python27\Scripts\pip install -U selenium Collecting selenium Downloading selenium-3.0.2-py2.py3-none-any.whl (915kB) 100% |################################| 921kB 984kB/s Installing collected packages: selenium Successfully installed selenium-3.0.2 C:\> |
pytestのインストール
前項でインストールした pipを利用して pytestをインストールします。
pytestは Pythonの開発時に使用するデバッグのためのテストツールです。
開発を行ううえで役に立つテストツールですので、これを使って開発を行います。
※デバッグツールは不要、と言う方は「pytest」をインストールするこの項目の対応は不要です。
pytestのオフィシャルサイト
http://pytest.org/latest-ja/
pipを利用して pytestをインストール
コマンドプロンプトで下記のコマンドを実行します。
1 |
c:\python27\Scripts\pip install -U pytest |
実際に実行すると以下のような感じで実行され、「Successfully installed」と出ると正常にインストールが完了です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
C:\> c:\python27\Scripts\pip install -U pytest Collecting pytest Downloading pytest-3.0.5-py2.py3-none-any.whl (170kB) 100% |################################| 174kB 1.7MB/s Collecting colorama; sys_platform == "win32" (from pytest) Downloading colorama-0.3.7-py2.py3-none-any.whl Collecting py>=1.4.29 (from pytest) Downloading py-1.4.32-py2.py3-none-any.whl (82kB) 100% |################################| 92kB 3.2MB/s Installing collected packages: colorama, py, pytest Successfully installed colorama-0.3.7 py-1.4.32 pytest-3.0.5 C:\> |
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をアップデートすることで下記のエラーが発生することがあるようです。
1 |
WebDriverException: Message: 'geckodriver' executable needs to be in PATH. |
このエラーが発生した場合は、この項の手順に従って geckodriverをインストールしてみてください。
Pythonスクリプトで seleniumを動作させる
設定した seleniumが正しく動作するかを確認するため、Pythonスクリプトを実行してみます。
Pythonスクリプトを実行
コマンドプロンプトで下記のコマンドを実行します。
1 |
py.test -v -s selenium_test.py |
パスが通っていないときは、下記の様にそれぞれパスを指定します。
1 |
c:\python27\Scripts\py.test -v -s c:\test\selenium_test.py |
また、実行するサンプルスクリプトは以下のようになります。
上記の実行コマンドの場合は、ファイル名を「selenium_test.py」とし、Cドライブ直下に作成した「test」フォルダの中に設置します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# coding: utf-8 # ライブラリの読み込み from selenium import webdriver # sleepを使うためのモジュール読み込み import time # ドライバの生成 browser = webdriver.Firefox() # 5秒 Sleep time.sleep(5) # 指定したページに遷移 browser.get("http://blog.s-giken.net/") |
「#」で始まる行がコメント行ですが、各処理の前にコメントを書きましたので、処理の内容はだいたい理解してもらえるんじゃないかと思います。
また、処理の一番最初の「# 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の有無、存在をチェックするスクリプト
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
PythonでURLの有無、存在をチェックするスクリプト
PythonでURLが存在するか否かのチェックスクリプト。ライブラリ「urllib2」を使い、指定のURLにアクセスしそのレスポンスコードを判別するという仕組み。
-
chromedriver.exe – ディスクがありませんと出てSeleniumの設定が上手くいかない
Selenium WebDriverを使ってChromeを自動操作する仕組みを作る際、chromedriver.exeを利用しますが、ディスクがありません、というエラーが発生する場合があります。その対処方法を解説します。
-
.htaccessのmod_deflateでファイル圧縮送信で高速化でSEO対策!
Page Speed Insightsの指摘事項であるファイルの圧縮送信の対応方法。処理内容の解説もあるけど、.htaccessにコピペするだけの簡単設置で効果抜群!SEOにも威力を発揮!
-
日本語は2バイト文字?3バイト文字?
日本語は2バイトという理解でしたが、UTF-8では事情が違います。その説明です。
-
借りてはいけないレンタルサーバ実例4社・アルファメール・WEBアリーナ
餅は餅屋。サーバはサーバ屋が提供するサービスを利用するべきという記事で、具体例 4サービスを例にこんなサーバはNGと紹介しています。
-
コピーコンテンツ・直リンクの3つの対策Google通報などのまとめ
コピーコンテンツを発見したときにやること!Googleに通報、画像の直リンクを禁止、RSSの全文配信を停止。この対策をしないとあなたのサイトの評価も下がるかも!
-
.gitignoreを更新しても反映されないときは「git rm -r –cached .」でキャッシュを削除
gitの.gitignoreを変更しても記述内容が反映されない時がある。それはGitのキャッシュが残っているため。そんなときは「git rm」コマンドを使ってキャッシュを削除すれば解決する。
-
Selenium WebDriver、Pythonをインストールし Chromeの自動操作の環境構築手順のまとめ
Selenium WebDriverを使ってChromeを自動操作する環境を構築する手順のまとめ。使用するPythonのインストールから、サンプルスクリプトの動作確認までを詳細解説。
-
mod_pagespeedでWebサイトを超簡単高速化・Google謹製の最終兵器
Webサイトの表示スピード高速化の最終兵器、Google謹製mod_pagespeedの解説です。レンタルサーバではX-Serverでしか利用できませんが、ワンクリックで高速化します。
-
PythonでMySQLへの接続ライブラリMySQL-pythonの簡単インストール方法
PythonはMySQLに接続するライブラリは別途インストールが必要。なのでMySQL-pythonライブラリのインストール方法とサンプルスクリプトで動作検証までを解説。