我找不到将“按钮”或“输入”字段添加到 Symfony 中的爬虫的表单以进行测试的方法。我正在这样做:
$crawler = $this->client->request('GET', '');
$document = new \DOMDocument();
$document->loadXml('<button type="submit" name="_submit" href="#">Create</button >');
$nodeList = $document->getElementsByTagName('button');
$node = $document->getElementsByTagName('button')->item(0);
$crawler->addNode($node, $form);
var_dump($crawler->filter('button[name="_submit"]')->text()); //Return Create Logic
但是当我尝试发送我的表格时,我得到了:
$form = $crawler->selectButton('_submit')->form(array(
'login-input' => 'XXXXXX',
'pass-input' => 'XXXXX',
));
这不起作用我有:
LogicException:所选节点没有表单祖先。
我没有任何按钮或输入字段,因为它是一个 javascript 提交。
有人知道吗?
编辑
我找到了另一种方法:我直接发送 ajax 请求,我得到了相同的效果@redbirdo,你的解决方案对我不起作用,也不是我在问题开始时想要的