Search code examples
rweb-scrapingrselenium

How do I select dropdown option in RSelenium?


I am trying to scrape https://webgate.ec.europa.eu/competition/transparency/public/search/results and am stuck in the second page after selecting countries. I would like to select from the dropbox objectives - Regional Aid Scheme, SMEs and Aid for Start ups.

Here's the code so far -

remDr <- remoteDriver(remoteServerAddr = "localhost", port = 4445L, extraCapabilities = fprof )
remDr$open()


#regular r vest






## Downloading Cartels

remDr$navigate("https://webgate.ec.europa.eu/competition/transparency/public?lang=en")  # load search page 
morereviews <- remDr$findElements(using = "css", "#selectAll") 
morereviews[[1]]$clickElement()
morereviews <- remDr$findElements(using = "css", ".button-search")  
morereviews[[1]]$clickElement()
morereviews <- remDr$findElements(using = "css", "#currency-EUR")  
morereviews[[1]]$clickElement()
remDr$screenshot(display = TRUE)

Follow this, I am able to click the dropbox but not able to select the options, any help would be appreciated, thank you!


Solution

  • This ui element is ment for typing so you can do:

    library(RSelenium)
    remDr <- remoteDriver(remoteServerAddr = "localhost", port = 4444)
    remDr$open()
    
    remDr$navigate("https://webgate.ec.europa.eu/competition/transparency/public?lang=en")  # load search page 
    morereviews <- remDr$findElements(using = "css", "#selectAll") 
    morereviews[[1]]$clickElement()
    morereviews <- remDr$findElements(using = "css", ".button-search")  
    morereviews[[1]]$clickElement()
    morereviews <- remDr$findElements(using = "css", "#currency-EUR")  
    morereviews[[1]]$clickElement()
    
    morereviews <- remDr$findElements(using = "css", "#objectives-input") 
    morereviews[[1]]$clickElement()
    morereviews[[1]]$sendKeysToElement(list("reg", selKeys$down_arrow, selKeys$enter))
    morereviews[[1]]$sendKeysToElement(list("sme", selKeys$down_arrow, selKeys$enter))
    morereviews[[1]]$sendKeysToElement(list("aid for start", selKeys$down_arrow, selKeys$enter))
    remDr$screenshot(display = TRUE)
    

    enter image description here