Follows a link by name.
Will click the first link found with this link text by default, or a later one if an index is given. Match is case sensitive with normalized space. The label is translated label. There is an assert for successful click.
$label: Text between the anchor tags.
$index: Link position counting from zero.
Page on success, or FALSE on failure.
protected function clickLink($label, $index = 0) {
$url_before = $this
->getUrl();
$urls = $this
->xpath('//a[normalize-space(text())=:label]', array(
':label' => $label,
));
if (isset($urls[$index])) {
$url_target = $this
->getAbsoluteUrl($urls[$index]['href']);
}
$this
->assertTrue(isset($urls[$index]), t('Clicked link %label (@url_target) from @url_before', array(
'%label' => $label,
'@url_target' => $url_target,
'@url_before' => $url_before,
)), t('Browser'));
if (isset($url_target)) {
return $this
->drupalGet($url_target);
}
return FALSE;
}