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