Selenium PHPUnit按标签文本选择元素

时间:2015-02-23 16:37:46

标签: selenium xpath selenium-webdriver webdriver phpunit

我有以下HTML代码段:

<div class="modal-body" style="max-height: 317px;">
   <div class="radio">
      <label>
         <input type="radio" name="template" value="5">
         <img src="/img/custom-icons/Monitor.png" style="height: 24px">
         First descriptive title                    
         <p class="text-muted">Some description text</p>
      </label>
   </div>
   <div class="radio">
      <label>
         <input type="radio" name="template" value="37">
         <img src="/img/custom-icons/Monitor.png" style="height: 24px">
         Second descriptive title                   
         <p class="text-muted"></p>
      </label>
   </div>
   <div class="radio">
      <label>
         <input type="radio" name="template" value="46">
         <img src="/img/custom-icons/Chart_Area_Up.png" style="height: 24px">
         Third descriptive title                    
         <p class="text-muted">Some text that describes an item.</p>
      </label>
   </div>
</div>

我想通过标签文本选择radio元素并单击它。我想做的事情:

$this->byXPath( "//label[text()='Second descriptive title']" )->click();

不幸的是,这不起作用。有任何想法吗?我很感激你的帮助。

1 个答案:

答案 0 :(得分:2)

//div[@class='radio']//*[contains(.,'Second descriptive title ')]//input[@type='radio']

非常棘手。可能有更好的方法。但是,这是我可以建议的。使用tagself进行//*[contains(.,'Second descriptive title')]独立搜索,之后只需步行至input电台tag