En el artículo, vamos a aprender cómo usar el paquete Rselenium para automatizar aplicaciones web. También aprenderemos cómo enviar eventos de mouse a la aplicación web usando RSelenium.
Implementación paso a paso
Paso 1: Cree un nuevo archivo llamado Rselenium.R en Rstudio.
Paso 2: Importe el paquete RSelenium a Rstudio usando el siguiente código:
R
# load library library(RSelenium)
Paso 3: Cree un nuevo servidor Rselenium con los controladores web de Chrome. Esto creará un nuevo servidor Rselenium e iniciará el controlador web de Chrome.
R
# start the Selenium server rdriver <- rsDriver(browser = "chrome", # browser name port = 3230L, # port number chromever = "98.0.4758.102", # chrome browser version )
Paso 4: cree un nuevo objeto de cliente desde el servidor Rselenium que creamos anteriormente.
R
# creating a client object and # opening the browser remDr <- rdriver$client
Paso 5: Abra la URL en el navegador usando el siguiente código.
R
# navigate to the url remDr$navigate("http://www.google.com/ncr")
Paso 6: Selecciona el elemento de búsqueda por CSS usando el siguiente código.
R
# finding query css from the page webElem <- remDr$findElement(using = "css", "[name = 'q']")
Aquí, q representa la consulta. Ahora, para enviar la palabra clave de búsqueda, estamos usando el método sendKeysToElements.
R
# sending the search keyword webElem$sendKeysToElement(list("GeeksforgGeeks", key = "enter"))
Paso 7: Ahora, encontraremos todos los enlaces URL del resultado de búsqueda usando el siguiente código. Después de eso, almacenaremos todos los enlaces URL en una lista. Luego vamos a encontrar el título de la URL que coincida con nuestra palabra clave de búsqueda.
R
# finding all the URL links from the search result webElems <- remDr$findElements(using = "css selector", "h3") # storing the list of titles resHeaders <- unlist(lapply(webElems, function(x) {x$getElementText()})) # checking if the title matches within the list of URLs webElem <- webElems[[which(resHeaders == "GeeksforGeeks |\ A computer science portal for geeks")]]
Paso 8: ahora, simplemente enviaremos un evento de clic del mouse para hacer clic en el enlace URL.
R
# clicking on the URL webElem$clickElement()
Paso 9: Cerrar el navegador y el servidor Rselenium.
R
# closing the server remDr$close()
A continuación se muestra la implementación completa:
R
# R program to demonstrate mouse event using Rselenium # load the required packages library(Rselenium) # start the Selenium server rdriver <- rsDriver(browser = "chrome", # browser name port = 3230L, # port number chromever = "98.0.4758.102", # chrome browser version ) # creating a client object and opening the browser remDr <- rdriver$client # navigate to the url remDr$navigate("http://www.google.com/ncr") # finding query css from the page webElem <- remDr$findElement(using = "css", "[name = 'q']") # sending the search keyword webElem$sendKeysToElement(list("GeeksforgGeeks", key = "enter")) # finding all the URL links from the search result webElems <- remDr$findElements(using = "css selector", "h3") # storing the list of titles resHeaders <- unlist(lapply(webElems, function(x) {x$getElementText()})) # checking if the title matches within the list of URLs webElem <- webElems[[which(resHeaders == "GeeksforGeeks | A \ computer science portal for geeks")]] # clicking on the URL webElem$clickElement() # closing the server remDr$close()
Producción:
Publicación traducida automáticamente
Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA