我正在使用rvest和Rselenium来抓取Google学术搜索页面。我正在研究http://www.r-bloggers.com/google-scholar-scraping-with-rvest-package/中提供的示例。 使用RSelenium,我想点击"显示更多" Google学术搜索页面上的按钮,以获取所有出版物的列表。 我正在运行的代码块是
library(RSelenium)
checkForServer()
startServer()
remDr <- remoteDriver(remoteServerAddr = "localhost"
, port = 4444
, browserName = "firefox"
)
remDr$open()
remDr$getStatus()
remDr$navigate("https://scholar.google.com/citations?user=sTR9SIQAAAAJ&hl=en&oi=ao")
webElem <- remDr$findElement(using = 'css selector', ".gs_lbl")
webElem$clickElement()
其中.gs_lbl是css选择器fr显示更多,在最后一步中我尝试向其发送一个点击。 但是会导致以下错误:
错误:摘要:ElementNotVisible 细节:无法完成元素命令,因为该元素在页面上不可见。 class:org.openqa.selenium.ElementNotVisibleException &GT;
我还使用了选择器小工具来验证.gs_lbl是Show More的CSS选择器...所以我不确定如何继续这里。 提前谢谢!
答案 0 :(得分:0)
使用您的代码,我只需要一次修改就可以正确点击“显示更多”按钮。正确的选择器是"#gsc_bpf_more"
,因此代码的倒数第二行应为:
webElem <- remDr$findElement(using = 'css selector', "#gsc_bpf_more")