es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo seleccionar un texto específico utilizando un selector CSS.

Quiero seleccionar el texto “Auto-Publish” en español. ¿Cómo puedo hacerlo con un selector CSS? Con Xpath sé cómo hacerlo. Estoy usando Nightwatch para la automatización de la interfaz de usuario. Quiero hacer una función genérica en el objeto de página que tome un valor como parámetro.

SelectFilterValue(value){
   .click(`//span[text()="${value}"]`)  
 }

No puedo hacerlo así porque es un XPath y tengo que especificar que es un XPath. Si fuera un selector CSS, podría hacerlo porque no tengo que especificar que es un selector CSS. ¿O hay alguna manera de hacerlo con Xpath también?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para seleccionar el texto “Auto-Publish” con un selector CSS, puedes usar la siguiente sintaxis:

    span:contains("Auto-Publish")
    

    Este selector coincidirá con cualquier elemento span que contenga el texto “Auto-Publish” en cualquier parte de él.

    Para lograr el mismo resultado con XPath, puedes usar la siguiente expresión:

    //span[contains(text(), "Auto-Publish")]
    

    Esta expresión XPath encontrará cualquier elemento span que contenga el texto “Auto-Publish” en cualquier parte de él.

    Puedes usar cualquiera de estos selectores en la función de objeto de página de Nightwatch:

    SelectFilterValue(value){
      // Usando selector CSS
      this.click(`span:contains("${value}")`);
    
      // Usando XPath
      this.click(`//span[contains(text(), "${value}")]`);
    }
    

    Ten en cuenta que los ejemplos anteriores asumen que solo hay un elemento span en la página que contiene el valor exacto de value. Si existen varias coincidencias, es posible que debas refinar tu selector para dirigirte al elemento específico que deseas.

Comments are closed.