我对英超联赛的统计数据很感兴趣。因此,我尝试从此官方网站https://www.premierleague.com/stats/top/players/total_pass
获取数据我正在使用R和RSelenium包。
library(rvest)
library(httr)
library(RSelenium)
remDr <- remoteDriver(port = 4445L)
remDr$open()
remDr$navigate('https://www.premierleague.com/stats/top/players/total_pass')
getsource <-remDr$getPageSource()
name<- read_html(getsource[[1]]) %>% html_nodes("strong") %>% html_text()
但是我遇到了一些问题。有一些类别的数据,如季节,职位,俱乐部等。
所以,我认为我可以根据这些类别获取数据。但我不知道如何使用此站点中的Rselenium在下拉框中选择特定内容。
我认为filenElement
和clickElement
是有用的功能。但是,我不知道如何处理这些功能来选择2016/17赛季和门将位置等特定条件。
请给我一个建议。
答案 0 :(得分:5)
使用以下代码,我可以让浏览器选择2014/15赛季。您需要检查各种下拉菜单的内容并根据需要进行扩展。
rD <- rsDriver(port=4444L,browser="chrome")
remDr <- rD$client
#navigate to main page
remDr$navigate('https://www.premierleague.com/stats/top/players/total_pass')
#find 'filter by season' box and click it
webElem <- remDr$findElement(using = 'xpath', value = "//*[@data-dropdown-block='FOOTBALL_COMPSEASON']")
webElem$clickElement()
#find 2014/15 season and click it
webElem1 <- remDr$findElement(using = 'xpath', value = "//*[@data-option-name='2014/15']")
webElem1$clickElement()