【问题标题】:Click Button via RSelenium通过 RSelenium 单击按钮
【发布时间】:2018-08-17 02:59:53
【问题描述】:

我正在尝试使用 Rselarium 和 Rvest 抓取 REI 的评论(吊床)。我想点击底部的按钮 x 次,这样我就可以刮掉所有的评论。我有点失落。这是我到目前为止所拥有的。如果您也知道,如何在取景器中预览您正在做的事情(不是屏幕打印),那会很酷。感谢 Stack 社区。​​p>

    replicate(100,
          {
remDr$navigate("https://www.amazon.com/Eagles-Nest-Outfitters-DoubleNest-Portable/product-reviews/B00K30GXK8/ref=cm_cr_dp_d_show_all_btm?ie=UTF8&reviewerType=all_reviewshttps://www.amazon.com/Eagles-Nest-Outfitters-DoubleNest-Portable/product-reviews/B00K30GXK8/ref=cm_cr_dp_d_show_all_btm?ie=UTF8&reviewerType=all_reviews")
webElem <- remDr$findElement("css", "body")
webElem$sendKeysToElement(list(key = "end"))
morereviews <- remDr$findElement(using = 'css selector', ".a-last a")
morereviews$clickElement
Sys.sleep(4)

reviews <- xml2::read_html(remDr$getPageSource()[[1]])%>%
  rvest::html_nodes(".review-text")%>%
  dplyr::data_frame(reviews = .)
})

【问题讨论】:

  • 任何帮助/提示将不胜感激......
  • 堆栈我卡在这里了。

标签: r web-scraping rvest rselenium


【解决方案1】:

试试这个:

# Click the Load More button
replicate(100,
          {
            # scroll down
            webElem <- remDr$findElement("css", "body")
            webElem$sendKeysToElement(list(key = "end"))
            # find button
            morereviews <- remDr$findElement(using = 'css selector', "#BVRRContainer div.bv-content-pagination-container button")
            # click button
            morereviews$clickElement()
            # wait
            Sys.sleep(4)
          })

# Scrap the reviews
reviews <- xml2::read_html(remDr$getPageSource()[[1]])%>%
  rvest::html_nodes("#BVRRContainer div.bv-content-summary-body-text") %>%
  rvest::html_text() %>%
  dplyr::data_frame(reviews = .)
reviews

【讨论】:

  • 仍在努力翻页。有什么想法吗?
  • 没有。页面刷新但实际上并没有更改页面。我认为这是选择器(并且可能是),但我想我已经尝试了每一种组合。你怎么看波尔。顺便说一句,我给你发了邮件。不知道你是否得到它。
  • 仍然无法弄清楚这个该死的东西......页面按钮是Java还是其他东西?帮助堆栈。
  • 我注意到您编辑了您的问题并更改了您正在抓取的网址(rei vs amazon),因此此答案的代码不起作用是正常的。你为什么改变网址?你应该回到这个问题的最后一个版本(因为它有这个有效的解决方案)并用这个新的 url 打开一个新的,并解释你想要完成的事情,这样我们就可以帮助你解决这个新的问题。跨度>
  • 哦,我不想创建一个新的。不过我会的。这使它更清洁。谢谢。很抱歉造成混乱。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-06
  • 2015-07-02
  • 2019-03-18
相关资源
最近更新 更多