Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

132
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda