2016-02-23 29 views
0

我试图从代码中的网址刮取文本框的值。我使用slector gadget选择了css。它无法捕获文本框中的内容。测试了其他几个CSS toobut文本框的值不被捕获。 文本框是:建设年份 请帮忙。以下是供参考的代码。使用Rselenium抓取空白值

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

以上答案也适用。但是,如果你只是试图使用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")) 

这工作

0

为什么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属性 VS节点文本。这也应该在你的硒代码中工作。