MacとWindows両方で、同じコードが通るSelenium WebDriverの動作環境を作る。
WindowsだけだとServer立てたりしなくても、chromedriver.exeダウンロードしてきてコード置いてるのと同じフォルダに置いてるだけでよかったんだけど、Macだと面倒っぽいので、どちらもServer立てて。
他所から内容もらってきてるだけなんだけど、両方まとめてるところがないので。
Macの場合
こちらの通り。
サーバ、chromedriverのインストール
$ brew update
$ brew install selenium-server-standalone
$ brew install chromedriver
サーバ起動
$ /usr/local/bin/selenium-server -Dwebdriver.chrome.bin="/Applications/Google Chrome.app" -Dwebdriver.chrome.driver=/usr/local/bin/chromedriver
shファイルにするなら、
selenium_server.sh
#!/bin/sh
/usr/local/bin/selenium-server -Dwebdriver.chrome.bin="/Applications/Google Chrome.app" -Dwebdriver.chrome.driver=/usr/local/bin/chromedriver &
Windowsの場合
こちらの通り。
サーバ、chromedriverのインストール
- DLページでダウンロード
- DLした「selenium-server-standalone-X.XX.X.jar」をCドライブ直下に配置
- ここから最新バージョンのchromedriver_win32.zipをダウンロード(win64はない)。
- Cドライブ直下に"chromedriver"フォルダを作り、解凍したchromedriver.exeを設置
サーバ起動
C:\XX\XX> java -jar C:\selenium-server-standalone-X.XX.X.jar -Dwebdriver.chrome.driver=C:\chromedriver\chromedriver.exe
batファイルにするなら、
selenium_server.bat
start java -jar C:\selenium-server-standalone-X.XX.X.jar -Dwebdriver.chrome.driver=C:\chromedriver\chromedriver.exe
Web Driverにつなぐコード
コードをおいたフォルダかグローバル(-g
オプションをつける)に
$npm install selenium-webdriver
でnodeのモジュールインストールして、
selenium-test.js
var webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;
var driver = new webdriver.Builder()
.forBrowser('chrome')
.usingServer('http://localhost:4444/wd/hub')
.build();
//後はむにゃむにゃ...他の記事など参考に
これで同じコードがWindows/Mac両方で動きます。