Презентация
Я ищу решение для веб-утилизации этого веб-сайта http://wcsp.science.kew.org/reportbuilder.do?method=Reset. Я хотел бы просмотреть веб-страницу каждого сгенерированного контрольного списка, выбрав семейство Orchidaceae и для каждого рода (см. веб-сайт). (примечание: в этом примере я выбираю только роды от А до Б. Я планирую использовать цикл для постепенного выбора каждой модальности).
Проблема
Я могу выбрать семейство 'Orchidaceae' (см. Код), но не могу выбрать род таким же образом.Возможно, потому что список родов генерируется после выбора семейства.
Код
Итак, я использую Rselenium , rvest и xml2 R упаковывают таким образом:
library(RSelenium)
library(rvest)
library(xml2)
library(tidyverse)
system('sudo docker pull selenium/standalone-firefox')
system('sudo docker run -d -p 4445:4444 selenium/standalone-firefox')
remDr <- RSelenium::remoteDriver(remoteServerAddr = "localhost",
port = 4444L,
browser = "firefox")
remDr$open()
remDr$navigate("http://wcsp.science.kew.org/reportbuilder.do?method=Reset")
remDr$screenshot(display = TRUE) #Screenshot
element<- remDr$findElement(using = 'css selector', "#family > option:nth-child(149)")
element$clickElement() #Click to select the family
element2<- remDr$findElement(using = 'css selector', "#genus > option:nth-child(2)")
element2$clickElement() #Click that should choose the genus range (A to B)
remDr$screenshot(display = TRUE)
html <- xml2::read_html(remDr$getPageSource()[[1]])
xml2::write_html(html, "scrap_page.html")
У кого-нибудь есть идеи о том, что я пропустил?
Сессия
> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.10
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.8.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.8.0
locale:
[1] LC_CTYPE=fr_FR.UTF-8 LC_NUMERIC=C LC_TIME=fr_FR.UTF-8
[4] LC_COLLATE=fr_FR.UTF-8 LC_MONETARY=fr_FR.UTF-8 LC_MESSAGES=fr_FR.UTF-8
[7] LC_PAPER=fr_FR.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] forcats_0.4.0 stringr_1.4.0 dplyr_0.8.0.1 purrr_0.3.0 readr_1.3.1
[6] tidyr_0.8.2 tibble_2.1.1 ggplot2_3.1.0 tidyverse_1.2.1 rvest_0.3.2
[11] xml2_1.2.0 RSelenium_1.7.5
loaded via a namespace (and not attached):
[1] tidyselect_0.2.5 haven_2.1.0 lattice_0.20-35 colorspace_1.4-0 generics_0.0.2
[6] yaml_2.2.0 XML_3.98-1.17 rlang_0.3.3 pillar_1.3.1 glue_1.3.0
[11] withr_2.1.2 selectr_0.4-1 rappdirs_0.3.1 semver_0.2.0 modelr_0.1.4
[16] readxl_1.3.0 plyr_1.8.4 munsell_0.5.0 binman_0.1.1 gtable_0.2.0
[21] cellranger_1.1.0 caTools_1.17.1.2 wdman_0.2.4 curl_3.3 broom_0.5.1
[26] Rcpp_1.0.1 openssl_1.3 backports_1.1.3 scales_1.0.0 jsonlite_1.6
[31] askpass_1.1 hms_0.4.2 stringi_1.2.4 grid_3.5.1 cli_1.1.0
[36] tools_3.5.1 bitops_1.0-6 magrittr_1.5 lazyeval_0.2.2 crayon_1.3.4
[41] pkgconfig_2.0.2 subprocess_0.8.3 lubridate_1.7.4 assertthat_0.2.1 httr_1.4.0
[46] rstudioapi_0.9.0 R6_2.4.0 nlme_3.1-137 compiler_3.5.1