p.320
start_session(root = "http://localhost:4444/wd/hub/", browser = "firefox")
で、browser = "firefox" だと、エラーが出るので、
https://sites.google.com/a/chromium.org/chromedriver/downloads
から、Chromedriver をダウンロードして、browser = "chrome" にすることにした。
> start_session(root = "http://localhost:4444/wd/hub/", browser = "chrome") [1] "Started new session. sessionList created." > post.url(url = "http://www.r-datacollection.com/materials/selenium/intro.html") > get.url() [1] "http://www.r-datacollection.com/materials/selenium/intro.html" > page_title() [1] "The Federal Contributions Database" > buttonID <- element_xpath_find(value = "/html/body/div/div[2]/form/input") > element_click(ID = buttonID) > allHandles <- window_handles() > window_change(allHandles[1]) rawToChar(getURLContent(paste0(seleniumSession$sessionURL, "/window"), でエラー: 引数 'x' は raw ベクトルでなくてはなりません > getURLContent(paste0(seleniumSession$sessionURL, "/window") + ) [1] "{\"sessionId\":\"91b4ba4356a57ec8497f3973cd7e6802\",\"status\":0,\"value\":\"CDwindow-268FE40834454ABD212F9FCCE422B65E\"}" attr(,"Content-Type") charset "application/json" "utf-8" > yearID <- element_xpath_find(value = '//*[@id="yearSelect"]') > monthID <- element_xpath_find(value = '//*[@id="monthSelect"]') > recipID <- element_xpath_find(value = '//*[@id="recipientSelect"]') > element_click(yearID) > keys("2013") [1] "{\"sessionId\":\"91b4ba4356a57ec8497f3973cd7e6802\",\"status\":0,\"value\":null}" attr(,"Content-Type") charset "application/json" "utf-8" > element_click(monthID) > keys("January") [1] "{\"sessionId\":\"91b4ba4356a57ec8497f3973cd7e6802\",\"status\":0,\"value\":null}" attr(,"Content-Type") charset "application/json" "utf-8" > element_click(recipID) > keys("barack Obama") [1] "{\"sessionId\":\"91b4ba4356a57ec8497f3973cd7e6802\",\"status\":0,\"value\":null}" attr(,"Content-Type") charset "application/json" "utf-8" > submitID <- element_xpath_find(value = '//*[@id="yearForm"]/div/button') > element_click(submitID) > pageSource <- page_source() > moneyTab <- readHTMLTable(pageSource, which = 1) > colnames(moneyTab) <- c("year", "name", "party", "contributor", "state", "amount") > moneyTab <- moneyTab[-1, ] > head(moneyTab) year name party contributor state amount 2 2013 Barack Obama D ROBERTS, GARY TX -50 3 2013 Barack Obama D TOENNIES, MICHAEL MR CO -55 4 2013 Barack Obama D PENTA, NEELAM NY -100 5 2013 Barack Obama D VALENSTEIN, JILL NY -15 6 2013 Barack Obama D SPRECHER KEATING, KAREN DC -100 7 2013 Barack Obama D FISCHER, DAMIEN CA -100
p.325 のデータ取得には成功しているが、
rawToChar(getURLContent(paste0(seleniumSession$sessionURL, "/window"), でエラー: 引数 'x' は raw ベクトルでなくてはなりません
というエラーが気になる。
window_change 関数を書き換えた
rawToChar(getURLContent(paste0(seleniumSession$sessionURL, "/window"), でエラー: 引数 'x' は raw ベクトルでなくてはなりません
は、window_change 関数を書き直すことで、出なくなった。
を
に変更した。