Rでseleniumが使えるようになった

seleniumというのは元々webアプリの画面テストを自動化する目的で開発されたツールです多分。
ブラウザを立ち上げて自動操作で色々やれます。使い途はこちらから。
http://hatakazu.hatenablog.com/entry/2012/06/10/083928
で、最近Rからseleniumを使えるreleniumというライブラリが公開されました。
まあ無理にRから使うこともないのですがちょっとしたクローリング&スクレイピングとかRでやりたいこともあるかもしれないのでメモ。

インストール

devtoolsのinstall_githubを使います。
なおreleniumを使う際はJavafirefoxが必要です。

library(devtools)
install_github('seleniumJars', 'LluisRamon')
install_github('relenium', 'LluisRamon')

ブラウザを立ち上げてページを読み込む

library(relenium)
firefox <- firefoxClass$new()
url <- "http://lluisramon.github.io/relenium/toyPageExample.html"
firefox$get(url)

ブラウザを操作する

下記例では「R Project」と入力してEnterキーを押すという操作をしています。
なお、入力ボックスにはXPathで指定して入力。

# 入力ボックスに入力する
inputElement <- firefox$findElementByXPath("//*[@id='main_content']/div[1]/form/input")
inputElement$sendKeys("R Project")
inputElement$sendKeys(key = "ENTER")

# ページ遷移して戻る
firefox$get("http://lluisramon.github.io/relenium/")
firefox$back()

# ブラウザを閉じる
firefox$close()

その他

その他の操作例は下記をご参照のこと。
http://lluisramon.github.io/relenium/example.html
以下コード。

# インストール
library(devtools)
install_github('seleniumJars', 'LluisRamon')
install_github('relenium', 'LluisRamon')

library(relenium)
# ブラウザを立ち上げてページを読み込む
firefox <- firefoxClass$new()
url <- "http://lluisramon.github.io/relenium/toyPageExample.html"
firefox$get(url)

# 入力ボックスに入力する
inputElement <- firefox$findElementByXPath("//*[@id='main_content']/div[1]/form/input")
inputElement$sendKeys("R Project")
inputElement$sendKeys(key = "ENTER")

# ページ遷移して戻る
firefox$get("http://lluisramon.github.io/relenium/")
firefox$back()

# ブラウザを閉じる
firefox$close()