RSelenium 或 Javascript:展开网站上的所有 java 可扩展元素

RSelenium or Javascript: Expand all java expandable element on a website

我现在正在做一个项目,需要从这个网站上抓取信息:

我已经设法用 RSelenium 和 Rvest 抓取 table。但是我想将一些细节添加到数据框中,这些细节可以在可扩展的 java (?) 对象中找到。我在这里说明了对象:

Tables

本质上,我需要在抓取之前展开所有这些内容以包含它们。有没有一种简单的方法可以用代码来做到这一点?昨天我有一个手动点击它们的脚本,需要几个小时才能完成。

是否可以在网站上注入代码将它们全部展开,或者让 RSelenium 执行代码?

下面的脚本将允许您抓取网页和 select 相关日期和法院。使用您需要的日期范围和法院修改“查询”。我选择了列表中的第一个法院。您可以通过检查页面并搜索 FormData.Court.

来找到法院代码
    library(tidyverse)
    library(httr)
    library(rvest)
    
    #################################
    ## FUNCTION TO PROCESS DATA    ##
    #################################
    
    parseDetails <- function(pg_dtls){
      
      dt <- pg_dtls %>%
        html_elements('dt') %>%
        html_text()
      
      dd <- pg_dtls %>%
        html_elements('dd') %>%
        html_text()
      
      tbl <- pg_dtls %>%
        html_element('table') %>%
        html_table()
      
      df <- as.data.frame(dd, row.names = dt) %>% set_names("Details")
      
      rtnList <- list(mainData = df, otherData = tbl)
    }
    
    ###############################
    ##  SCRAPE WEB PAGE          ##
    ###############################
    
    url <- "https://www.domstol.no/enkelt-domstol/hoyesterett/saksliste/berammingsliste/"
    
    query <- list('FormData.From'="25.02.2022",
                  'FormData.To'="07.03.2022",                  
'FormData.Court'="AAAA2104220835148622091WAFLAU#EJBOrgUnit")
    response <- POST(url, body = query)
    dtls <- content(response, "parsed") %>%
      html_elements("button") %>% 
      html_attr("data-action") %>%
      na.omit() %>%
      paste0("https://www.domstol.no/", .) %>%
      map(read_html)
    
    
    scrapedData <- map(dtls, parseDetails)