2011-11-04 9 views
10

Me preguntaba, tengo este código HTML:¿Cómo encontrar un elemento de nodo de texto con Mink?

<li> 
    <span class="jqTransformRadioWrapper"> 
    <a rel="choices[choices]" class="jqTransformRadio jqTransformChecked" href = "#"></a> 
    <input type="radio" id="choices_choices_5" value="5" name="choices[choices]" class="jqTransformHidden"> 
    </span> 
    <label for = "choices_choices_5" style = "cursor: pointer;">My awesome test</label> 
</li> 

Algunos de ustedes pueden reconocer que la entrada ha sido jqTransformed

Me preguntaba cómo hacer clic en la etiqueta llamada "Mi prueba impresionante" .

En este momento, hago:

$el = $this->getSession()->getPage()->find('css', 'ul li span.jqTransformRadioWrapper a'); 
    $el->click(); 

Pero selecciona el primer elemento. Y quiero seleccionarlos con su nombre (y solo) para este ejemplo sería "Mi increíble prueba".

Gracias

Respuesta

13

Aquí está la respuesta:

$this->getSession()->getPage()->find('xpath', '//label[text()="My awesome test"]'); 
+0

Esto romperá cuando se utiliza ZombieJS como el conductor: XPaths para el conductor del zombi no debe contener el carácter '" 'o se bloquea el servidor (en <= 1.3.1, no sé acerca de 1.4.0+). En su lugar, use 'find ('xpath'," // label [text() = 'My awesome test'] ");' – tonyhb

Cuestiones relacionadas