2011-11-04 27 views
10

tôi đã tự hỏi, tôi có HTML này:Cách tìm phần tử nút văn bản bằng 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> 

Một số bạn có thể nhận ra rằng các đầu vào đã được jqTransformed

tôi đã tự hỏi làm thế nào để click vào nhãn có tên là "thử nghiệm tuyệt vời của tôi" .

Ngay bây giờ, tôi làm:

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

Nhưng nó chọn phần tử đầu tiên. Và tôi muốn chọn chúng với Tên của chúng (và chỉ) cho ví dụ này, nó sẽ là "Thử nghiệm tuyệt vời của tôi".

Cảm ơn

Trả lời

13

Dưới đây là câu trả lời:

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

này sẽ phá vỡ khi sử dụng ZombieJS như người lái xe: XPath cho người lái xe Zombie không phải chứa ký tự '" 'hoặc máy chủ bị treo (trên <= 1.3.1, tôi không biết về 1.4.0+) Thay vào đó, hãy sử dụng 'find ('xpath'," // label [text() = 'Thử nghiệm tuyệt vời của tôi'] ");' – tonyhb

Các vấn đề liên quan