2017-06-29 4 views
-2

behat私はページ内のボタンがあります。ミンクを使用してクラスを持つdiv要素を検索し、

<div class="button wide green attached connectyourself" >Conect</div> 

私はこの上のTUプッシュはDIVたいので、私はMethodeのを作成します。

/** 
* @When I open the connection popup 
*/ 
public function iOpenTheConnectionPopup() 
{ 
    $page = $this->getSession()->getPage(); 
    $findName = $page->find("css", '.connectyourself'); 
    if (!$findName) { 
     throw new Exception('connectyourself' . " could not be found"); 
    } else { 
     $findName->click(); 
    } 
} 

すべて私は例外「接続自分自身が見つかりませんでした」を取得します。 私を助けてもらえますか?

+1

要素が見つかったかどうかのチェックが正しくない場合、 'find'はオブジェクトまたはnullを返します。したがって、'!$ findName'の代わりに '=== null'を使用する必要があります。要素と最後にあなたはいくつかの待つ必要があります、ここで確認するhttps://stackoverflow.com/questions/42911114/fatal-error-call-to-a-member-function-press-on-a-non-object/42925010 – lauda

+0

as @laudaが記載されている場合は、if文を確認してから、要素を検索する前に要素を待つことを検討してください。最後に、CSSセレクタをdiv.connectyourselfに絞り込んでください。 –

答えて

0

私はこのCSSが一意ではないと思います。クラス名に「connecty yourself」という要素が含まれている可能性があります。あなたは完全なクラスのnamを与えることによってそれを見つけることを試みるべきです。

$findName = $page->find("css", '.button.wide.green.attached.connectyourself'); 
+0

エラーが表示されます。「要素が表示されません」 – user7424312

+0

@ user7424312 Googleで少なくとも同じエラーを検索しようとしましたか?コメントを貼り付ける前に。 – NarendraR

関連する問題