вот мой html
<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>
Я хочу получить свою форму с помощью искателя. Я попробовал метод selectButton, как это
$form = $crawler->selectButton('station[submit]')->form(array());
но я получаю ошибку: InvalidArgumentException: The current node list is empty.
в чем проблема ?
К сожалению, у меня нет достаточно рейтинга, чтобы просто написать комментарий, а не поставить его в ответ.
Итак, не могли бы вы показать, как вы получаете $ crawler? Проблема может быть:
$ искатель не указывает на DOM, который содержит эту форму
эта форма появляется на странице после некоторых действий java-скрипта (например, Ajax), но не уверен, что это ваш случай.
Метод selectButton
принимает значение Текст кнопки. Итак, попробуйте:
$form = $crawler->selectButton('Ajouter')->form(array());
Надеюсь, что эта помощь