Rselenium can be utilized to extract data from several tabs within a single webpage by following these steps:
Here's an example code to extract data from two tabs:
```{r} library(RSelenium) url <- "https://www.example.com/" driver <- rsDriver(browser = "chrome") remDr <- driver[["client"]] remDr$navigate(url)
tab1 <- remDr$findElement(using = "xpath", "//div[@class='tab' and @id='tab1']") tab1$clickElement()
data1 <- remDr$findElement(using = "xpath", "//table[@class='datatable']") data1df <- readHTMLTable(HTML(data1$getElementAttribute("outerHTML")[[1]]))[1]
tab2 <- remDr$findElement(using = "xpath", "//div[@class='tab' and @id='tab2']") tab2$clickElement() data2 <- remDr$findElement(using = "xpath", "//ul[@class='list']") data2_list <- data2$getElementAttribute("textContent")[[1]]
remDr$close() ```
In the example above, we first launch a Chrome browser using Rselenium, navigate to an example website with two tabs. We then find and click on each tab, extract data from each tab (a table and a list), and store them in separate variables (data1df and data2list). Finally, we close the browser window.
Asked: 2022-04-10 11:00:00 +0000
Seen: 10 times
Last updated: Jul 17 '21