RSelenium – Buscar por nombre

En el artículo, vamos a aprender cómo podemos buscar un elemento usando el localizador de nombres en Rselenium. Para ser más específicos, vamos a aprender a usar el método findElement(using = ‘name’, value = ‘the name of the element’) en Rselenium.

Sintaxis:

rsDriver$findElement(usando = ‘nombre’, valor = ‘el nombre del elemento’)

Ejemplo:

Considere el siguiente código HTML:

HTML

<html>
   <body>
      <form>
         <input type="text" name="firstname" value="Enter Your firstname">
         <input type="text" name="lastname" value="Enter Your lastname">
         <input type="submit" value="Submit">
      </form>
   </body>
</html>

Producción:

Ahora bien, si queremos automatizar el llenado de este formulario. Podemos usar el localizador findElement por nombre . Podemos usar el siguiente código para llenar el formulario:

Código:

R

# sending firstname and last name using the name locator
rsDriver$findElement(using = 'name', value = 'firstname').sendKeys('Ram')
rsDriver$findElement(using = 'name', value = 'lastname').sendKeys('Singh')

Ahora, intentemos implementarlo con la ayuda de Rselenium en R.

Implementación paso a paso

Paso 1: abra Rstudio y cree un nuevo script llamado searchByName.R

Paso 2: importe y cargue el paquete Rselenium en Rstudio usando el siguiente comando:

R

# for installing the Rselenium package
install.packages("Rselenium")
  
# for loading the Rselenium package
library(RSelenium)

Paso 3: cree un nuevo servidor Rselenium usando el controlador web de Chrome.

R

rdriver <- rsDriver(browser = "chrome", # browser name
                   port = 8090L, # port number
                   chromever  = "98.0.4758.102", # browser version
)

Esto creará un nuevo servidor Rselenium e iniciará el controlador web de Chrome.

Paso 4:   Cree un objeto de cliente del servidor Rselenium para interactuar con el navegador web mediante el siguiente comando:

R

# Creating client object
rseleniumClientObj <- rsDriver$client

Paso 5: navegue a la URL [ https://www.google.com/ ] usando el siguiente comando:

R

# Navigating to the URL
rseleniumClientObj$navigate("https://www.google.com/")

Paso 6: Para encontrar el elemento por el localizador de nombre [q] y enviar la palabra clave de búsqueda, podemos usar el siguiente comando:

R

# using name for finding the element
searchUsingName <- rseleniumClientObj$findElement(using = 'name', value = 'q')
  
# sending keys 
searchUsingName$sendKeys('GeeksforGeeks',key = "enter")

Aquí, q es el nombre del elemento en la página de búsqueda de Google. El método searchUsingName con sendKeys enviará la palabra clave de búsqueda [“GeeksforGeeks”] al elemento y luego presionará la tecla Intro.

Paso 7: para cerrar el navegador y el servidor, ejecute el siguiente comando:

R

# close the RSelenium server and 
# chrome web browser
rseleniumClientObj$close()

El fragmento de código anterior en R cerrará el navegador web Chrome y el servidor Rselenium.

Implementación completa de todo el código del programa R:

R

# Search using the name in RSelenium 
  
# load the required packages
library(Rselenium)
  
# start the Selenium server
rdriver <- rsDriver(browser = "chrome", # browser name
                    port = 2020L, # port number
                    chromever  = "98.0.4758.102", # chrome browser version
)
  
# creating a client object and opening 
# the browser
rseleniumClientObj <- rdriver$client
  
# Navigate to Google.com
rseleniumClientObj$navigate("https://www.google.com")
  
# search using the name locator, here q(query)
# is the name
searchUsingName <- rseleniumClientObj$findElement(using = 'name', 
                               value = 'q')
  
# sending "GeeksforGeeks" as a search query
searchUsingName$sendKeysToElement(list("GeeksforGeeks", key = "enter"))
  
# For closing the browser
rseleniumClientObj$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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *