0

我正在尝试从代码中的 URL 中抓取文本框值。我使用选择器小工具选择了 css。它无法捕获文本框中的内容。也测试了其他几个 CSS,但未捕获文本框值。文本框是:建设年份请帮忙。以下是供参考的代码。

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

提前致谢

4

2 回答 2

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 属性与节点文本。这也应该在您的硒代码中起作用。

于 2016-02-23T13:00:20.043 回答
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"))

这有效

于 2016-02-23T14:16:26.043 回答