【发布时间】:2019-09-10 07:31:48
【问题描述】:
我正在为一个私人网站编写一个动态网络抓取工具,我在其中抓取可用于运动队的不同条形图的结果。问题是团队城市名称是跨度元素中可用的文本,类为“bar-chart__value”,但有重复项(即纽约、洛杉矶)。
似乎唯一可以为团队名称提供唯一值的地方是 svg 元素,但我不知道如何使用 xpath 找到 svg 元素。
leaderboard <- map_dfr(1:length(a), function(x){
team <- remDr$findElements("xpath", "//span[@class = 'bar-chart__logo']/*[name() = 'svg']")[[x]]$getElementText()
if(team == "Average") {
number <- remDr$findElements("xpath", "//span[@class = 'bar-chart__value']")[[x]]$getElementText()
avg <<- x
} else if(x > avg){
number <- remDr$findElements("xpath", "//span[@class = 'bar-chart__value']
//span[@class = 'play-link__number-span']")[[x-1]]$getElementText()
} else {
number <- remDr$findElements("xpath", "//span[@class = 'bar-chart__value']
//span[@class = 'play-link__number-span']")[[x]]$getElementText()
}
df <- tibble(unlist(team), unlist(number))
colnames(df) <- c("Team", specific)
return(df)
})
有谁知道如何在 findElement 方法中使用 xpath 来查找 svg 元素?这是返回错误的代码:
remDr$findElements("xpath", "//span[@class = 'bar-chart__logo']/*[name() = 'svg']")[[1]]$getElementText()
【问题讨论】: