目次
Seleniumとは?
ブラウザ操作を自動化するライブラリーであり、主にwebサイトの動作テストを行うときに使用されます。
動作テストのほかにもスクレイピングなどにも使われ、サイトからのデータの取得や、サイトへのログインなどに使われています。
対応言語はJava、Python、Ruby、JavaScriptなどがあります。
Seleniumを使用するための準備
Seleniumを使用するための準備について説明します。なお今回使用する言語はpythonです。想定する使用用途はウェブスクレイピングです。
まずはSeleniumライブラリをインストールする
コマンドプロンプトを開き、下記のコードを入力します。
pip3 install selenium
もしくは
pip install selenium
コマンドプロンプトの開き方がわからない方は、windowsの左下に配置してある検索ボックスに「コマンドプロンプト」と入力すれば、開くことができます。
アナコンダを使用している人は「Powershell Prompt」を開き、下記のコードを入力してください。
python -m pip install selenium
ブラウザをインストールする
seleniumで使用するブラウザがインストールされていない場合、ブラウザをインストールします。
seleniumで使用できるブラウザにはChrom, Firefox, Edgeなどがありますが今回はChromeを使用します。
Chromeはこちらでインストールができます。
ブラウザドライバーをインストールする
ブラウザをインストールしたら、次にそのブラウザに対応するブラウザドライバーをインストールします。
ここではChromeに対応するChrome Driverをインストールする手順について説明します。
こちらにアクセスして、安定板を選択します。
自分のOSに対応するChrimedriverをダウンロードします。僕はwindowsを使用しているので「chromedriver win32.zip」をダウンロードしました。
webdriver.exeを配置
ダウンロードファイルを解凍して、「chromedriver.exe」を取り出します。
この「chromedriver.exe」をどこに配置するかで、記述するコードが異なります。
作業フォルダ内に配置する場合
作業ファイルと同階層にchromedriverを置く場合、下記のコードでChromeブラウザを立ち上げることができます。
from selenium import webdriver browser=webdriver.Chrome()#ブラウザChomeを開く
2行目webdriver.Chrome()の()内には本来、引数executsble_psthを用いてchromedriver.exeが配置されている場所を指定する必要があります。しかしchromedriver.exeが作業ファイルと同階層に配置 or PATHが通っていれば空白でも実行することができます。
作業フォルダ外に配置する場合
webdriver.exeが作業フォルダと同階層以外の場所に配置かつPATHが通っていなければ、上記で紹介したコードを実行しても、下記のようなエラーが発生します。
selenium.common.exceptions.WebDriverException:
Message: 'chromedriver' executable needs to be in PATH.
Please see https://chromedriver.chromium.org/home
エラーメッセージを読むと「「chromedriver」実行可能ファイルは PATH にある必要があります」と書かれています。
これを解決するには「()内にwebdriverの配置場所を記述する」or「PATH環境変数に追加する(PATHを通す)」の2通りの解決方法があります。
より簡単な「()内にwebdriverの配置場所を記述する」の方法を紹介します。下記のようにコードを書けばよいです。
from selenium import webdriver
browser=webdriver.Chrome(executable_path='Chromedriverがあるパス')#ブラウザChomeを開く
確認テスト
上記で紹介したseleniumのインストール、ブラウザのインストール、ブラウザドライバーのインストールが完了したら、seleniumが正常に動くか下記のコードをコードを実行して確認してみます。
from selenium import webdriver browser=webdriver.Chrome()#ブラウザChomeを開く browser.get("アクセスしたいサイトのURL")#指定したURLにアクセスする
目的のサイトが表示されたら正常に動いています。
終わりに
以上で、Seleniumの準備(環境構築)について解説を終了します。
少しでも皆さんの参考になれば幸いです。