2016-10-28 39 views
1

我有一個表單被加載,我只是簡單地提交表單。在表單中有input type = hidden字段,其中存有一些長字符串。這在正常的瀏覽器上正常工作,並不適用於casper。在分析這一點時,apache本身正在從casper獲得空的POST數據。如果我減少隱藏的輸入數據,它工作正常。是否有尺寸限制或casper中定義的內容?casperjs empy提交大數值時的POST數據

下面是代碼:

var casper = require('casper').create(); 

casper.start('http://localhost/loadForm', function() { 
    // Wait for the page to be loaded 
    this.waitForSelector('form[action="/saveConfig"]'); 
}); 

casper.then(function() { 
    this.evaluate(function() { 
     $('#form').submit(); 
    }); 
}); 

casper.run(); 

回答

1

下面的錯誤報告是什麼,幫助了我。我認爲這是一個幻影bug。其中一個隱藏字段是存儲base64 png圖像,並在我的html頁面中被canvas.toDataURL(「image/png」)填充。 casperjs中的這個與實際的瀏覽器相比產生了不同的base64。這導致$ _POST在PHP中爲空。但是當我嘗試file_get_contents(「php:// input」)時,數據全部存在。我通過使用canvas.toDataURL(「image/png」,0)來解決它。第二個參數在瀏覽器和casperjs中產生一致的輸出。

https://github.com/ariya/phantomjs/issues/10455

相關問題