问题描述
我有一个足球应用程序,可以在我踢球时跟踪我的数据 - 但是我想要一种自动为自己收集这些数据的方式。
这是我试图抓取的页面示例,尽管我似乎在使用 RSelenium 时没有取得任何进展。
我能够进行初步接触,并获得页面的标题,但似乎无法掌握除此之外的任何内容。
library(RSelenium)
remDr <- remoteDriver(remoteServerAddr = "127.0.0.1",port = 4445L)
remDr$open(silent = TRUE)
remDr$navigate("http://sport.zepp.com/soccer/game?id=602f7c549c05de4254619ce2&uid=602dfa34286a8427b94ef43d")
remDr$getTitle()
我至少希望能够跟踪页面顶部附近 3.18m 的“距离”指标。 有没有人能给我一个工作示例来说明我如何做到这一点?最终,我也希望能够获得页面的其余部分。
解决方法
下面是一个可能的解决方案。
library(RSelenium)
driver <- rsDriver(browser=c("firefox"),port = 4445L)
remote_driver <- driver[["client"]]
remote_driver$navigate("http://sport.zepp.com/soccer/game?id=602f7c549c05de4254619ce2&uid=602dfa34286a8427b94ef43d")
DISTANCE<-remote_driver$findElement(using = 'css selector',value = 'div.ct-container:nth-child(1) > div:nth-child(2) > div:nth-child(2)')$getElementText()
print(DISTANCE)
[[1]]
[1] "5125"
KICKS<-remote_driver$findElement(using = 'css selector',value = '#SoccerGameApp > div > div:nth-child(2) > div:nth-child(2) > div > div:nth-child(2) > div > div.flt_r.ct-h-r')$getElementText()
print(KICKS)
[[1]]
[1] "21"
SPRINTS<-remote_driver$findElement(using = 'css selector',value = '#SoccerGameApp > div > div:nth-child(2) > div:nth-child(2) > div > div:nth-child(3) > div > div.flt_r.ct-h-r')$getElementText()
print(SPRINTS)
[[1]]
[1] "17"