This set of functions allows you to simulate a user interacting with a website, using forms and navigating from page to page.
Create a session with session(url)
Navigate to a specified url with session_jump_to()
, or follow a link on the
page with session_follow_link()
.
Submit an html_form with session_submit()
.
View the history with session_history()
and navigate back and forward
with session_back()
and session_forward()
.
Extract page contents with html_element()
and html_elements()
, or get the
complete HTML document with read_html()
.
Inspect the HTTP response with httr::cookies()
, httr::headers()
,
and httr::status_code()
.
session(url, ...) is.session(x) session_jump_to(x, url, ...) session_follow_link(x, i, css, xpath, ...) session_back(x) session_forward(x) session_history(x) session_submit(x, form, submit = NULL, ...)
url | A URL, either relative or absolute, to navigate to. |
---|---|
... | Any additional httr config to use throughout the session. |
x | A session. |
i | A integer to select the ith link or a string to match the first link containing that text (case sensitive). |
css | Elements to select. Supply one of |
xpath | Elements to select. Supply one of |
form | An html_form to submit |
submit | Which button should be used to submit the form?
|
s <- session("http://hadley.nz") s %>% session_jump_to("hadley-wickham.jpg") %>% session_jump_to("/") %>% session_history() #> http://hadley.nz/ #> http://hadley.nz/hadley-wickham.jpg #> - http://hadley.nz/ s %>% session_jump_to("hadley-wickham.jpg") %>% session_back() %>% session_history() #> - http://hadley.nz/ #> http://hadley.nz/hadley-wickham.jpg # \donttest{ s %>% session_follow_link(css = "p a") %>% html_elements("p") #> Navigating to http://rstudio.com #> {xml_nodeset (59)} #> [1] <p>The premier IDE for R</p> #> [2] <p>RStudio anywhere using a web browser</p> #> [3] <p>Put Shiny applications online</p> #> [4] <p>Shiny, R Markdown, Tidyverse and more</p> #> [5] <p>Do, share, teach and learn data science</p> #> [6] <p>An easy way to access R packages</p> #> [7] <p>Let us host your Shiny applications</p> #> [8] <p>A single home for R & Python Data Science Teams</p> #> [9] <p>Scale, develop, and collaborate across R & Python</p> #> [10] <p>Easily share your insights</p> #> [11] <p>Control and distribute packages</p> #> [12] <p>RStudio</p> #> [13] <p>RStudio Server</p> #> [14] <p>Shiny Server</p> #> [15] <p>R Packages</p> #> [16] <p>RStudio Cloud</p> #> [17] <p>RStudio Public Package Manager</p> #> [18] <p>shinyapps.io</p> #> [19] <p>RStudio Team</p> #> [20] <p>RStudio Workbench</p> #> ... # }