Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

213
Vistas
Cómo llenar un formulario reactivo usando Selenium

Necesito llenar los tres campos del formulario en esta página para raspar los registros de la búsqueda resultante, sin embargo, no he logrado cambiar los valores a apartamento, compra usado y Medellín (Antioquia), respectivamente. Tenga en cuenta que el primer campo es como una lista desplegable con opciones de casilla de verificación y el tercero es una entrada de texto, pero debe seleccionar una de las opciones que se muestran para obtener los resultados correctos en la búsqueda. Estoy usando el paquete Rselenium en R, pero creo que podría ser más fácil usar javascript nativo con RSelenium. También estoy abierto a sugerencias en python o cualquier otro idioma.

 script <- " document.querySelector('[class = \"m2-select__single-value css-1uccc91-singleValue\"]').textContent='Compra usado'; document.querySelector('[name = \"businessType\"]').setAttribute('value', 'venta/usado'); document.getElementsByClassName('form-control')[0].setAttribute('value', 'Medellín (Antioquia)'); " remDr$executeScript(script) inmueble <- remDr$findElements(using = 'css', '#propertyTypes .css-1hwfws3') inmueble$sendKeysToElement(list("Casas")) ciudad <- remDr$findElement(using = 'css', '.form-control') ciudad$sendKeysToElement(list("Medellín (Antioquia)")) buscar_boton <- remDr$findElement(using = 'css', '#btnSearch') buscar_boton$sendKeysToElement(list(key = 'enter'))

EDITAR: Agregué el código que tengo hasta ahora, cambia los valores en el html pero cuando hago clic en Intro, realiza la búsqueda con los valores predeterminados.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar httr y realizar la misma solicitud de búsqueda que la página web. Debe recoger una clave API en el camino desde uno de los archivos JavaScript:

 library(httr) library(stringr) library(magrittr) params <- list( "realEstateBusinessList" = "venta", "realEstateStatusList" = "usado", "locationsList" = "Medellín (Antioquia)", "realEstateTypeList" = "apartamento", "from" = "0", "size" = "50" ) key <- httr::GET("https://www.metrocuadrado.com/results/_next/static/chunks/commons.3c50d9b2b91c3e061be4.js") %>% content(as = "text") %>% stringr::str_match(., '"X-Api-Key":"(.*?)"') %>% .[, 2] headers <- c( "user-agent" = "Mozilla/5.0", "accept" = "application/json, text/plain, */*", "x-api-key" = key ) r <- httr::GET(url = "https://www.metrocuadrado.com/rest-search/search", httr::add_headers(.headers = headers), query = params) %>% content() r$results
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda