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

186
Visualizações
Cypress/Javascript - Intentando hacer clic en un botón que aún no está seleccionado

Tengo un problema en mi Cypress donde intento hacer clic en un segundo botón que aún no está deshabilitado o seleccionado. Lo que está sucediendo actualmente es que está seleccionando el botón ya seleccionado y no estoy seguro de por qué.

Aquí hay un ejemplo de html, por lo que si observa el código a continuación, hay dos divs, cada uno de los cuales maneja una fila de selección. Dentro de cada fila hay un botón (enlace <a> ).

Entonces, lo que sucede es que si se selecciona un botón, la clase selected se agrega al <a> element like so :

 <a id="event-selection-4191929065" eventid="event-selection-19976412" title="Ronaldo to score 2 or more goals" eventmodule="ODDS_BOOSTS_HOMEPAGE" class="oddsBoostedPrice button__bet eventSelection--link selected" "="">

Es por eso que tengo la verificación para asegurarme de que revisamos cada elemento del botón de probabilidades y si no contiene la clase .selected .

¿Alguien puede ver lo que estoy haciendo mal y cómo solucionarlo?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Este se puede simplificar, porque ya verificaste la clase .button__bet dentro del método oddsButton .

 oddsSelectionElements.oddsButton() .each((element, index) => { if (!element.hasClass("disabled") && !element.hasClass("selected")) { cy.wrap(element).click() return false } })

Lo siento, necesita && entre las dos comprobaciones de clase porque cada comprobación es ! (no).


disabled suele ser un atributo, que se verificaría así

 oddsSelectionElements.oddsButton() .each((element, index) => { if (!element.attr("disabled") && !element.hasClass("selected")) { cy.wrap(element).click() return false } })

Probado con este fragmento de HTML

 <button class="oddsBoostedPrice button__bet eventSelection--link selected"></button> <button class="oddsBoostedPrice button__bet eventSelection--link" disabled></button> <button class="oddsBoostedPrice button__bet eventSelection--link"></button>

Solo el tercer botón pasa a la instrucción if() .

about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes intentar cambiar tu condición if a algo como esto:

 oddsSelectionElements.oddsButton().each((element, index) => { if (!element.prop("disabled") && !element.hasClass("selected")) { cy.wrap(element).click() return false } })
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