Я также боролся с этим, и оказалось, что метод selectButton
вызвал эту ошибку.
После чтения документов DOM Crawler я обнаружил, что selectButton
Метод принимает фактический текст кнопки в качестве строкового аргумента.Поэтому, если ваша кнопка «отправить мою форму, пожалуйста», это будет ваш текст.
Она также принимает другие параметры, как показано ниже (взято из документации)
A selectButton() method is available on the Crawler which returns another
Crawler that matches a button (input[type=submit], input[type=image],
or a button) with the given text.
РЕДАКТИРОВАТЬ
После окончательного успешного завершения теста я также рекомендую вам следовать этому примеру для тестирования форм:
use Goutte\Client;
$client = new Client();
$crawler = $client->request('GET', 'https://github.com/login');
$form = $crawler->selectButton('Log in')->form();
$form['login'] = 'symfonyfan';
$form['password'] = 'anypass';
$crawler = $client->submit($form);
$this->assertTrue($crawler->filter('html:contains("Welcome Back")')->count() > 0);
Основное отличие заключается в том, что я использовалкомплект Goutte , который я установил с помощью composer из упаковщик (в моем случае я добавил "fabpot/goutte": "1.0.*@dev"
)