2013-09-24 43 views
1

我有一個頁面,其中包含一個包含textarea的輸入元素的表單。這些輸入字段會填充一些值。將整個頁面想象爲某個實體的編輯頁面。 TextArea所包含的XML字符串顯示,在正常的瀏覽器正確(如Firefox和Chrome),看起來像以下:與behat相關的文章:xml字符串作爲textarea值填充html實體

<front> 

    <!-- top row --> 
    <cell> 
     <page>8</page> 
    </cell> 

</front> 

但是,當我的測試用例GOUTTE貂驅動程序運行的頁面加載和textarea的價值編有特殊字符,像這樣:

&lt;front&gt;&#13; 
&#13; 
    &lt;!-- top row --&gt;&#13; 
     &lt;cell&gt;&#13; 
      &lt;page&gt;8&lt;/page&gt;&#13; 
     &lt;/cell&gt;&#13; 
&#13; 
&lt;/front&gt;&#13; 

當我按下提交混亂被髮送到服務器和存儲,而不是最初的正確的XML按鈕。 請注意,我根本沒有碰它。我可以加載頁面並按提交按鈕,它全部擰緊。這種情況只發生在goutte,而不是與硒有關。

所以問題是:我如何強迫goutte自動解釋這些html實體並將它們發送爲正確的數據,而不是編碼混亂?

回答

1

有沒有解決方案。這似乎是Goutte/Guzzle的正常行爲。當我們結束了以下解決方案解決方法:如果使用GOUTTE驅動程序,我們檢查所有<textarea>元素網頁內容,如果有的話,然後發現每次我們得到他們的內容,並清楚地重新插入如下:

$elements = $this->pageContent->findAll('xpath', '//textarea'); 
foreach ($elements as $element) { 
    $element->setValue($element->getText()); 
} 
相關問題