2017-05-12 5 views
2

を得ることができない私のHTMLは、私は、クローラを使用して自分のフォームを取得したいsymfonyのクローラselectButton方法はこちらのフォーム

<form name="station" method="post" action="/stations/new" role="form"> 
    <div class="form-group"> 
    <label class="control-label required" for="station_name">Name</label> 
    <input type="text" id="station_name" name="station[name]" required="required" maxlength="255" class="form-control" > 
    </div> 
    <div class="form-group"> 
     <div class="checkbox"> 
     <label for="station_active"> 
     <input type="checkbox" id="station_active" name="station[active]" value="1" />Active</label> 
     </div> 
    </div> 
    <div class="form-group"> 
    <button type="submit" id="station_submit" name="station[submit]" class="btn btn-primary">Ajouter</button> 
    </div> 
    <input type="hidden" id="station__token" name="station[_token]" class="form-control" value="aze123aze" > 
</form> 

です。私はこの

$form = $crawler->selectButton('station[submit]')->form(array()); 

ようselectButton方法を試してみましたが、私はエラーを取得:InvalidArgumentException: The current node list is empty.

問題は何ですか?

答えて

1

残念ながら、私はちょうどコメントを書く代わりに、答えにそれを置くために何の十分な評価を持っていません。

だから、あなたは$クローラーをどうやって手に入れていますか?

  • $クローラーが

  • このフォームは、いくつかのJavaスクリプトのアクションの後にページに表示され、このフォームが含まれているDOM(例えばアヤックス)を指していますが、確かではない、これはあなたのケースであること:問題があるかもしれません。

+0

私はかなり遅れており、$ client-> click($ link)の後にクローラを忘れました。 ...あなたはまだあなたの投票を得て、答えを受け入れる:P – RomMer

0

selectButtonメソッドは、ボタンのテキストの値を受け入れます。そうで試してみてください:

$form = $crawler->selectButton('Ajouter')->form(array()); 

・ホープこのヘルプは

+0

も試してみました。 -/ – RomMer

+0

@RomMer very strange。 htmlがうまく構成されていない場合(いくつかの閉じたタグなど)、domparserが動作しないことがあります。 symfonyや手作業で自動生成されたHTMLですか? – Matteo

+0

フォームはsymfonyによって生成されます – RomMer

関連する問題