2016-02-23 32 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節點文本。這也應該在你的硒代碼中工作。