【问题标题】:Web scraping with RSelenium: findElement returning nothing使用 RSelenium 进行 Web 抓取:findElement 不返回任何内容
【发布时间】:2020-06-22 14:59:24
【问题描述】:

我是网络抓取的新手,并且一直在尝试使用 RSelenium(作为 rvest 的替代品)收集信息,因为我感兴趣的一些网站使用 JavaScript。但是,当我使用下面的代码时,findElement() 函数什么也不返回。

library(RSelenium)

driver <- rsDriver(browser=c("chrome"), chromever="81.0.4044.138")

remote_driver <- driver$client

remote_driver$navigate("https://www.gucci.com/uk/en_gb/ca/decor-c-decor")

p <- remote_driver$findElement(using = "xpath", "//span[@class = 'sale']")
product <- p$getElementText()
product

xpath 似乎是正确的,有什么想法吗?

【问题讨论】:

    标签: javascript r web-scraping rselenium


    【解决方案1】:

    我不确定这是否是最好的方法,但您可以使用 RSelenium 获取页面源(包括 Javascript 元素),然后使用 rvest 提取这些元素。

    library(dplyr)
    library(rvest)
    
    elemrvest <- remote_driver$getPageSource()[[1]]
    
    df <- tibble(Products = elemrvest %>% 
                   read_html() %>% 
                   html_nodes(xpath = "//div[@class = 'product-tiles-grid-item-info']/h2") %>% 
                   html_text(),
                 Prices = elemrvest %>% 
                   read_html() %>% 
                   html_nodes(xpath = "//span[@class = 'sale']") %>% 
                   html_text())
    

    【讨论】:

      猜你喜欢
      • 2019-04-27
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-29
      • 1970-01-01
      • 2020-08-27
      相关资源
      最近更新 更多