この記事では、npm (Node.js) の selenium-standalone
による
Selenium 本体と各種ブラウザドライバーのインストール方法、その使い方を説明します。
selenium-standalone でできること
- Selenium Standalone Server のインストール
-
SeleniumHQ 公式のページ でも案内されている Selenium の本体をダウンロードしてくれます。
-
selenium-server-standalone-3.4.0.jar
-
- Browser Drivers のインストール
-
下記のような各種ブラウザのドライバをダウンロードしてくれます。 対象のブラウザやそのバージョンは設定ファイルで指定することもできます。
-
2.29-x64-chromedriver
-
3.4.0-x64-IEDriverServer.exe
-
0.16.0-x64-geckodriver
-
- Selenium Standalone Server のスタート
-
ブラウザの自動操作環境を提供するサーバを開始します。 これが起動している状態でないと、スクリプトでブラウザを操作することができません。
selenium-standalone のグローバルインストール
まずは手軽に試すことのできるグローバルインストールの方法を説明します。
任意のディレクトリで以下のコマンドを実行してください。
オプション -g
を指定してグローバルインストールすることで、
どのディレクトリからでも Selenium のサーバを起動できるようにしています。
$ npm install -g selenium-standalone@latest
$ selenium-standalone install
not fount: java
Usage: selenium-standalone action [options]
上記の表示が出てしまった場合、Selenium の動作に必要である Java がインストールされていないか、PATH が通っていません。 Java実行環境のダウンロードページからダウンロードするなりしましょう。 Selenium を扱うような方の環境には入っていると思いますが……。
---
selenium install:
from: https://selenium-release.storage.googleapis.com/3.4/selenium-server-standalone-3.4.0.jar
to: C:\Users\syon\AppData\Roaming\npm\node_modules\selenium-standalone\.selenium\selenium-server\3.4.0-server.jar
---
chrome install:
from: https://chromedriver.storage.googleapis.com/2.29/chromedriver_win32.zip
to: C:\Users\syon\AppData\Roaming\npm\node_modules\selenium-standalone\.selenium\chromedriver\2.29-x64-chromedriver
---
ie install:
from: https://selenium-release.storage.googleapis.com/3.4/IEDriverServer_x64_3.4.0.zip
to: C:\Users\syon\AppData\Roaming\npm\node_modules\selenium-standalone\.selenium\iedriver\3.4.0-x64-IEDriverServer.exe
---
firefox install:
from: https://github.com/mozilla/geckodriver/releases/download/v0.16.0/geckodriver-v0.16.0-win64.zip
to: C:\Users\syon\AppData\Roaming\npm\node_modules\selenium-standalone\.selenium\geckodriver\0.16.0-x64-geckodriver
デフォルトでは Chrome・IE・Firefox のドライバがインストールされます。 (Mac の場合は IE がインストールされませんでした)
ダウンロードしたファイルの配置場所(グローバルインストール時)
- Windows
-
%APPDATA%\Roaming\npm\node_modules\selenium-standalone\.selenium\
- Mac
-
/usr/local/lib/node_modules/selenium-standalone/.selenium/
Seleniumサーバの開始(グローバルインストール時)
$ selenium-standalone start
selenium-standalone のローカルインストール
プロジェクトごとに管理したい場合は、以下のようにします。
$ npm install --save selenium-standalone
プロジェクトで Selenium を扱うのであれば、おそらくブラウザドライバーの種類やバージョンの定義が必要になるかと思います。
設定ファイル config.js
を用意しましょう。
module.exports = {
drivers: {
chrome: {
version: '2.29',
arch: process.arch,
baseURL: 'https://chromedriver.storage.googleapis.com'
},
ie: {
version: '3.3.0',
arch: 'ia32',
baseURL: 'https://selenium-release.storage.googleapis.com'
},
},
// proxy: 'http://proxyserver:8080',
}
- version
-
ブラウザドライバーのバージョン(≠ブラウザのバージョン)
- arch
-
ブラウザドライバーのbit数
'x64'
または'ia32'
(process.arch
は実行マシンの環境から自動取得) - baseURL
-
ブラウザドライバーのダウンロードサイトURL
- proxy
-
インターネットからのダウンロードにプロキシ接続が必要な場合に設定することができます。 未定義の場合は環境変数
http_proxy
/https_proxy
も参照されるようです。
npm を介した Selenium コマンドの実行
用意した設定ファイルは、オプション --config=config.js
で指定することができます。
"scripts": {
"selenium-install": "selenium-standalone install --config=config.js",
"selenium-start": "selenium-standalone start --config=config.js"
},
"dependencies": {
"selenium-standalone": "^6.4.1"
}
$ npm run selenium-install
ダウンロードしたファイルの配置場所(ローカルインストール時)
- Windows
-
node_modules\selenium-standalone\.selenium\
- Mac
-
node_modules/selenium-standalone/.selenium/
Seleniumサーバの開始(ローカルインストール時)
$ npm run selenium-start
Seleniumサーバ 開始オプション
DesiredCapabilities
- SeleniumHQ/selenium Wiki
- デバイス・OS・ブラウザ・バージョンを指定して生成する便利ツール
Key | Type | Description |
---|---|---|
browserName |
string |
以下のうちいずれか1つ。 |
version |
string |
ブラウザのバージョン。不明の場合は空白を指定。 |
platform |
string |
以下のうちいずれか1つ。 |