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."
と、エラーはなくなった。