首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用RSelenium抓取Fangraphs中的动态数据

用RSelenium抓取Fangraphs中的动态数据
EN

Stack Overflow用户
提问于 2021-07-24 16:54:32
回答 1查看 45关注 0票数 0

我正在尝试自动从fangraphs下载动态数据。目标是模拟点击下载csv的"Export Data“链接。或者,如果可能的话,简单地抓取数据。无论哪种获取数据的方法,我都可以接受。我已经在RSelenium中尝试了以下代码,但都没有用:

代码语言:javascript
复制
remDr <- remoteDriver(port = 4445L,
            browserName = 'firefox')
remDr$open()
remDr$navigate("https://www.fangraphs.com/leaders/splits-leaderboards?splitArr=1,7&splitArrPitch=&position=B&autoPt=false&splitTeams=false&statType=player&statgroup=1&startDate=2017-03-01&endDate=2021-11-01&players=&filter=&groupBy=career&sort=-1,1")
remDr$findElement(using = "class", value = "data-export")

此URL的数据是使用javascript呈现的。尽管您可以检查页面上的元素并看到class = "data-export“元素,但remDr$findElement返回一个错误:

代码语言:javascript
复制
Selenium message:Unable to locate element: {"method":"class name","selector":"data-export"}
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: '7d65bd0674cb', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '5.4.0-80-generic', java.version: '1.8.0_91'
Driver info: driver.version: unknown

Error:   Summary: NoSuchElement
     Detail: An element could not be located on the page using the given search parameters.
     class: org.openqa.selenium.NoSuchElementException
     Further Details: run errorDetails method
EN

回答 1

Stack Overflow用户

发布于 2021-09-05 05:58:07

尝试xpath,而不是class

代码语言:javascript
复制
library(RSelenium)
driver = rsDriver(port = 4941L, browser = c("firefox"))
remDr <- driver[["client"]]
remDr$navigate("https://www.fangraphs.com/leaders/splits-leaderboards?splitArr=1,7&splitArrPitch=&position=B&autoPt=false&splitTeams=false&statType=player&statgroup=1&startDate=2017-03-01&endDate=2021-11-01&players=&filter=&groupBy=career&sort=-1,1")

#Click Exporrt Data 

remDr$findElement(using = "xpath",'//*[@id="react-drop-test"]/div[2]/a') -> downloaddata
downloaddata$clickElement()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68508450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档