這組函數允許您模擬用戶與網站交互、使用表單以及從一個頁麵導航到另一個頁麵。
-
使用
session(url)
創建會話 -
使用
session_jump_to()
導航到指定的網址,或使用session_follow_link()
訪問頁麵上的鏈接。 -
提交 html_form 和
session_submit()
。 -
使用
session_history()
查看曆史記錄,並使用session_back()
和session_forward()
前後導航。 -
使用
html_element()
和html_elements()
提取頁麵內容,或使用read_html()
獲取完整的 HTML 文檔。 -
使用
httr::cookies()
、httr::headers()
和httr::status_code()
檢查 HTTP 響應。
用法
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
-
要導航到的 URL(相對或絕對)。
- ...
-
在整個會話中使用的任何其他 httr 配置。
- x
-
一次會議。
- i
-
用於選擇第 i 個鏈接的整數或用於匹配包含該文本的第一個鏈接的字符串(區分大小寫)。
- css, xpath
-
要選擇的元素。根據您要使用 CSS 選擇器還是 XPath 1.0 表達式,提供
css
或xpath
之一。 - form
-
要提交的html_form
- submit
-
應該使用哪個按鈕來提交表單?
-
NULL
默認使用第一個按鈕。 -
字符串通過名稱選擇按鈕。
-
數字使用其相對位置來選擇按鈕。
-
例子
s <- session("http://hadley.nz")
s %>%
session_jump_to("hadley-wickham.jpg") %>%
session_jump_to("/") %>%
session_history()
#> Warning: Not Found (HTTP 404).
#> https://hadley.nz/
#> https://hadley.nz/hadley-wickham.jpg
#> - https://hadley.nz/
s %>%
session_jump_to("hadley-wickham.jpg") %>%
session_back() %>%
session_history()
#> Warning: Not Found (HTTP 404).
#> - https://hadley.nz/
#> https://hadley.nz/hadley-wickham.jpg
# \donttest{
s %>%
session_follow_link(css = "p a") %>%
html_elements("p")
#> Navigating to http://rstudio.com
#> {xml_nodeset (68)}
#> [1] <p class="d-inline">\n <b><a style="color: #ffffff; fon ...
#> [2] <p class="d-inline pl-0 pt-1 pr-3">\n <b class="pr-3">< ...
#> [3] <p><a style="color: #ffffff; font-size: .9em;" href="https://posit ...
#> [4] <p>The premier IDE for R</p>
#> [5] <p>RStudio anywhere using a web browser</p>
#> [6] <p>Put Shiny applications online</p>
#> [7] <p>Shiny, R Markdown, Tidyverse and more</p>
#> [8] <p>Next level training for you and your team</p>
#> [9] <p>Do, share, teach and learn data science</p>
#> [10] <p>An easy way to access R packages</p>
#> [11] <p>Let us host your Shiny applications</p>
#> [12] <p>A single home for R & Python Data Science Teams</p>
#> [13] <p>Scale, develop, and collaborate across R & Python</p>
#> [14] <p>Easily share your insights</p>
#> [15] <p>Control and distribute packages</p>
#> [16] <p>RStudio</p>
#> [17] <p>RStudio Server</p>
#> [18] <p>Shiny Server</p>
#> [19] <p>R Packages</p>
#> [20] <p>RStudio Academy</p>
#> ...
# }
相關用法
- R rvest html_encoding_guess 猜測字符編碼錯誤
- R rvest html_text 獲取元素文本
- R rvest html_element 從 HTML 文檔中選擇元素
- R rvest html_form 解析表單並設置值
- R rvest html_children 獲取元素子元素
- R rvest html_name 獲取元素名稱
- R rvest html_table 將 html 表解析為 DataFrame
- R rvest html_attr 獲取元素屬性
- R rvest minimal_html 從內聯 HTML 創建 HTML 文檔
- R predict.rpart 根據擬合的 Rpart 對象進行預測
- R SparkR randomSplit用法及代碼示例
- R reprex un-reprex 取消渲染reprex
- R SparkR read.stream用法及代碼示例
- R SparkR rbind用法及代碼示例
- R readr datasource 創建源對象。
- R readr melt_delim 返回分隔文件中每個標記的熔化數據(包括 csv 和 tsv)
- R readr read_rds 讀/寫 RDS 文件。
- R readr read_lines 從文件中讀取/寫入行
- R SparkR rollup用法及代碼示例
- R readr parse_number 靈活地解析數字
- R snip.rpart 剪切 Rpart 對象的子樹
- R labels.rpart 為 Rpart 對象創建分割標簽
- R SparkR refreshByPath用法及代碼示例
- R summary.rpart 總結擬合的 Rpart 對象
- R printcp 顯示擬合 Rpart 對象的 CP 表
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Simulate a session in web browser。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。