2013-08-08 1 views
0

У меня есть 2 кнопки с тем же именем. По соображениям дизайна одновременно видна только одна из них.Как щелкнуть видимый элемент в PHPUnit Selenium2TestCase?

Я хочу нажать любую видимую кнопку.

Если первая кнопка прятал это выражение

$this->byCssSelector('[name="saveAndClose"]')->click() 

возвращает

Element is not currently visible and so may not be interacted with 

Как нажать на кнопку видимой?

ответ

1

Я написал простой код для этого.

public function clickOnDisplayedElementByName($name) 
    { 
    $elements = $this->elements($this->using('css selector')->value('[name="' . $name . '"]')); 
    foreach ($elements as $element) 
     { 
     if ($element->displayed()) 
      { 
      $element->click(); 
      return; 
      } 
     } 
    $this->fail('There is no visible elements with name ' . $name); 
    }