如何使用 Symfony\DomCrawler 以非形式分配 textarea 值?

How to assign textarea value in non-form using Symfony\DomCrawler?

我正在对基于 Silex 的应用程序进行功能单元测试。

我能够 select textarea 节点使用:

use Silex\WebTestCase;

$textarea = $crawler->filter('[note-for="'.$cart->id.'"]');

这个returnsSymfony\Component\DomCrawler\Crawler对象。 我想为这个文本区域赋值。此文本区域不在表单标签中。

来自交响曲 documentation:

An instance of the Crawler represents a set (SplObjectStorage) of DOMElement objects, which are basically nodes that you can traverse easily:

只需使用:

foreach($textareas as $textarea) {
  $textarea->nodeValue  = "TEST";
};

使用DomCrawler对象的setValues()成员函数:

$form->setValues(array( 'element-id' => 'value' ));

更详细地介绍了 DomCrawler here