Zestaw narzędzi do międzyplatformowego zautomatyzowanego testowania aplikacji internetowych i czynności związanych z przeglądarkami.
W skład pakietu wchodzą:
Uruchomienie kontenera Docker
sudo docker run -d -p 5901:5900 \
-p 127.0.0.1:4445:4444 \
--name selenium_server \
selenium/standalone-firefox-debug:2.53.1
library(RSelenium)
remDr <- RSelenium::remoteDriver(remoteServerAddr = "localhost",
port = 4445L,
browserName = "firefox")
# Obiekt bazowy?
!base::is.object(remDr)
[1] FALSE
# Klasy S3?
!base::isS4(remDr)
[1] FALSE
# Klasy S4?
base::isS4(remDr)
[1] TRUE
# Klasy referencyjnej?
is(remDr, "refClass")
[1] TRUE
pryr::otype(remDr)
[1] "RC"
# Metoda konkretnej klasy użyta na danym obiekcie
remDr$open(silent = TRUE)
# Otwarcie przeglądarki, przejście do strony, powrót na poprzednią, odświeżenie,
# pozyskanie adresu
remDr$open()
remDr$navigate(url)
remDr$goBack()
remDr$goForward()
remDr$refresh()
remDr$getCurrentUrl()
# Działania na DOM (Document Object Model)
webElem <- remDr$findElement(using = "name|id|class|css|tag|xpath", value = "")
# Przesyłanie informacji
webElem$sendKeysToElement(list("", key = "enter"))
webElem$clickElement()
# Podświetlanie elementu
webElem$highlightElement()
Dzięki RSelenium w bardzo prosty sposób udało się wyłuskać dane z portalu Meetup i na ich podstawie stworzyć grafikę z konferencjami R które już się odbyły oraz z tymi nadciągającymi.