private function tryClickOnLabel(\PHPUnit_Extensions_Selenium2TestCase_Element $form, $type, $name, $value = NULL) { $labels = $form->elements($form->using('xpath')->value("//label[./input[@type='{$type}'][@name='{$name}']" . ($value ? "[@value='{$value}']" : '') . "]")); if (!$labels) { $labels = $form->elements($form->using('xpath')->value("//label[./text()[contains(.,'{$value}')]]")); } if ($label = reset($labels)) { $label->click(); } else { throw new \RuntimeException("Radio button label for value or with text '{$value}' not found."); } return TRUE; }