p.320にある
start_session(root = "http://localhost:4444/wd/hub/", browser = "firefox")
を実行したら、
serverDetails$value[[1]] でエラー: 添え字が許される範囲外です
とエラーになった。
> start_session
function (root = NULL, browser = "firefox", javascriptEnabled = TRUE,
takesScreenshot = TRUE, handlesAlerts = TRUE, databaseEnabled = TRUE,
cssSelectorsEnabled = TRUE)
{
server <- list(desiredCapabilities = list(browserName = browser,
javascriptEnabled = javascriptEnabled, takesScreenshot = takesScreenshot,
handlesAlerts = handlesAlerts, databaseEnabled = databaseEnabled,
cssSelectorsEnabled = cssSelectorsEnabled))
newSession <- getURL(paste0(root, "session"), customrequest = "POST",
httpheader = c(`Content-Type` = "application/json;charset=UTF-8"),
postfields = toJSON(server))
serverDetails <- fromJSON(rawToChar(getURLContent(paste0(root,
"sessions"), binary = TRUE)))
sessionList <- list(time = Sys.time(), sessionURL = paste0(root,
"session/", serverDetails$value[[1]]$id))
class(sessionList) <- "RSelenium"
print("Started new session. sessionList created.")
seleniumSession <<- sessionList
}
<bytecode: 0x7f8743ce7b68="">
<environment: namespace:rwebdriver="">
</environment:>
start_session 関数の内容は、上記の内容で、
serverDetails <- fromJSON(rawToChar(getURLContent(paste0(root, "sessions"), binary = TRUE)))
で、値がとれず
> serverDetails$value
list()
となっていることが原因。
https://stackoverflow.com/questions/45839848/selenium-unable-to-create-…
にドライバーをインストールしろとあった。
https://github.com/mozilla/geckodriver/releases
から、ドライバーをダウンロードして、
/usr/local/bin 配下に設置した。
これで、
> start_session(root = "http://localhost:4444/wd/hub/", browser = "firefox") [1] "Started new session. sessionList created."
と、エラーはなくなった。