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

133
Vistas
nodejs selenium agrega una función a webdriver (elemento resaltado) click() no es una función

tratando de crear una nueva función en chromedriver o anular la función findelement() existente

Los primeros pasos para mí fueron crear algo nuevo en lugar de anularlo para probarlo.

 const driver = await new Builder() .forBrowser("chrome") .setChromeOptions( new chrome.Options() .windowSize(screen) ) .build(); driver.findElementWithHighlight = async (locator) => { let element = await driver.findElement(locator); await driver.executeScript("arguments[0].style.border='3px solid red'", element); return driver.findElement(locator); };

luego en otra función llamo

 await driver.findElementWithHighlight(some locator).click();

pero despues de todo esto me sale este error:

TypeError: driver.findElementWithHighlight(...).click no es una función

¿Qué hago mal aquí? ¿Por qué mi nueva función no tiene el método click() si devuelve la misma WebElementPromise?

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

0

Devuelve una promesa y está llamando a .click() en el objeto Promise. En su lugar, envuélvelo (await driver.findElementWithHighlight(...)).click() . Por lo tanto, se esperará y podrá llamar a su función de clic.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes seguir haciendo más funciones.

 driver.findElementWithHighlight = async (locator) => { let element = await driver.findElement(locator); await driver.executeScript("arguments[0].style.border='3px solid red'", element); return driver.findElement(locator); }; driver.findElementWithHighlightAndClick = async (locator) => { return driver.findElementWithHighlight(locator) .then((highlighted) => { return highlighted.click(); }); }; driver.findElementWithHighlightAndClick(some_locator);
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