rvest how to select a specific css node by id rvest how to select a specific css node by id r r

rvest how to select a specific css node by id


You can use xpath:

require(rvest)text <- '<div class="style">   <input id="a" value="123">   <input id="b"></div>'h <- read_html(text)h %>%   html_nodes(xpath = '//*[@id="a"]') %>%  xml_attr("value")

The easiest way to get css- and xpath-selector is to use http://selectorgadget.com/.For a specific attribute like yours use chrome's developer toolbar to get the xpath as follows:enter image description here


This will work just fine with straight CSS selectors:

library(rvest)doc <- '<div class="style">   <input id="a" value="123">   <input id="b"></div>'pg <- html(doc)html_attr(html_nodes(pg, "div > input:first-of-type"), "value")## [1] "123"


Adding an answer bc I don't see the easy css selector shorthand for selecting by id: using #your_id_name:

h %>%   html_node('#a') %>%  html_attr('value')

which outputs "123" as desired.

Same setup as the others:

require(rvest)text <- '<div class="style">   <input id="a" value="123">   <input id="b"></div>'h <- read_html(text)