滚动到元素并单击它

时间:2018-03-16 09:09:39

标签: r firefox rselenium

我正在尝试通过网络抓取Flipkart网站上的数据。该网页的链接如下: https://www.flipkart.com/mi-a1-black-64-gb/product-reviews/itmexnsrtzhbbneg?aid=overall&pid=MOBEX9WXUSZVYHET

我需要通过单击网页上的NEXT按钮自动导航到NEXT页面。以下是我正在使用的代码

nextButton <-remDr$findElement(value ='//div[@class="_2kUstJ"]')$clickElement()

错误

Selenium message:Element is not clickable at point

我甚至尝试使用以下代码

按照许多stackoverflow问题的建议滚动网页
remDr$executeScript("arguments[0].scrollIntoView(true);", nextButton)

但是这段代码也是错误的

 Error in checkError(res) : Undefined error in httr call. httr output: No method for S4 class:webElement 

请提出解决方案。我正在使用firefox browserselenium来自动使用R编程。

1 个答案:

答案 0 :(得分:0)

如果您不介意使用Chrome驱动程序,则可以使用以下代码:

eCaps <- list(chromeOptions = list(
  args = c('--headless', '--disable-gpu', '--window-size=1880,1000',  "--no-sandbox", "--disable-dev-shm-usage")
))

remDr <- rsDriver(port = 4565L,browser = "chrome",extraCapabilities = eCaps)
remCl <- remDr[["client"]]

remCl$navigate("https://www.flipkart.com/mi-a1-black-64-gb/product-reviews/itmexnsrtzhbbneg?aid=overall&pid=MOBEX9WXUSZVYHET")

remCl$findElement(using = "css selector", "._3fVaIS > span:nth-child(1)")$clickElement()