我正在尝试从代码中的URL中抓取文本框值。我使用slector小工具选择了css。它无法捕获文本框中的内容。测试了几个其他CSS toobut没有捕获文本框值。 文本框是:建设年份 请帮忙 。以下是供参考的代码。
url = "https://www.ncspo.com/FIS/dbBldgAsset_public.aspx?BldgAssetID=8848"
values = list()
remDr$navigate(url)
page_source<-remDr$getPageSource()
a = read_html(page_source[[1]])
= html_nodes(a,"#ctl00_mainContentPlaceholder_txtConstructionYear_iu")
values = html_text(html_main_node)
values
提前致谢
答案 0 :(得分:1)
为什么选择RSelenium?它与rvest完全不同(虽然它是一个可怕的SharePoint站点,可能会在维护正确的视图状态cookie的情况下导致问题。)
library(rvest)
pg <- html_session("https://www.ncspo.com/FIS/dbBldgAsset_public.aspx?BldgAssetID=8848")
html_attr(html_nodes(pg, "input#ctl00_mainContentPlaceholder_txtConstructionYear_iu"), "value")
## [1] 1987
您应该抓取value
属性与节点文本。这也适用于你的selenium代码。
答案 1 :(得分:0)
上述答案也有效。但是,如果您只是尝试使用RSelenium
。这是代码
library(RSelenium)
checkForServer()
startServer()
Sys.sleep(5)
re<-remoteDriver()
re$open()
re$navigate("https://www.ncspo.com/FIS/dbBldgAsset_public.aspx?BldgAssetID=8848")
re$findElement(using = "css selector", "#ctl00_mainContentPlaceholder_txtConstructionYear_iu")$clickElement()
text<-unlist(re$findElement(using = "css selector", "#ctl00_mainContentPlaceholder_txtConstructionYear_iu")$getElementAttribute("value"))
这有效