RSelenium无法识别元素

时间:2018-03-27 07:38:28

标签: r rselenium

我试图从此页面抓取所有提供商:https://www.agedcareguide.com.au/nursing-homes/providers/vic

我通过在Dock with Docker中运行以下代码在我的Mac上使用RSelenium:

docker run -d -p 4445:4444 selenium/standalone-firefox

然后当我返回RStudio并运行以下内容时:

remDr <- remoteDriver(remoteServerAddr = "localhost", port = 4445L, 
browserName = "firefox")
remDr$open()
remDr$navigate("https://www.agedcareguide.com.au/nursing-homes/providers/vic")
remDr$getTitle()

一切都很好。

然后我尝试使用:

来获取元素
provs <- remDr$findElement()

在括号内我使用了XPath,CSS Selector,我能想到的一切,但总是会说:

  

match.arg(使用)出错:     &#39;精氨酸&#39;应该是“xpath”,“css选择器”,“id”,“名称”,“标签名称”,“类名”,“链接文本”,“部分链接文本”之一

任何人都有任何想法我会如此严重错误?

1 个答案:

答案 0 :(得分:2)

部分解决方案......

RSelenium ...

remDr$navigate(...)
Sys.sleep(20) #the page keeps loading for some time
page <- remDr$getPageSource()

然后,rvest ...

provs <- page[[1]] %>% read_html() %>% 
   html_node("#app > div > div.c-col-results > div:nth-child(3) > div > section") %>% 
   html_text()

经过一些整理(由\\n拆分后,删除空白)......

provs
 [1] "AdventCare"                                     "Providing nursing homes" 
 [3] "Alexandra Gardens SRS"                          "Providing nursing homes" 
 [5] "Allbright Manor"                                "Providing nursing homes"
 [7] "Alliance Care Services Group"                   "Providing nursing homes" 
 etc...

希望这有助于您入门,虽然这是一个棘手的问题!