2

我正在使用 rvest 和 Rselenium 来抓取 Google Scholar 页面。我正在研究http://www.r-bloggers.com/google-scholar-scraping-with-rvest-package/中提供的示例。使用 RSelenium,我想单击 Google Scholar 页面上的“显示更多”按钮以获取所有出版物的列表。我正在运行的代码块是

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 详细信息:无法完成元素命令,因为该元素在页面上不可见。类:org.openqa.selenium.ElementNotVisibleException >

我还使用选择器小工具来验证 .gs_lbl 是显示更多的 CSS 选择器......所以我不确定如何在此处继续。提前致谢!

4

1 回答 1

0

使用您的代码,我只需要进行一次修改即可正确单击“显示更多”按钮。正确的选择器是"#gsc_bpf_more",因此代码的倒数第二行应为:

webElem <- remDr$findElement(using = 'css selector', "#gsc_bpf_more")

于 2016-04-25T16:34:50.467 回答